最近接手了别人xib布局的代码,页面设计要求点不同的按钮来动态的控制空间的位置及大小。这对于已经两三年没用过xib的人来说真的是困扰的很,改了frame可是控件仍然稳如泰山,怎么都不动!!!
通过百度和请教大神最后发现,导致位置错位/不懂得原因有以下两点:
1、xib布局是根据前一个位置来布遮盖 控件的位置,而在点击按钮改变位置时居然把前一个控件的内容给置空了!!!这样呢此控件就找不到依据了,布局就此出差错。
解决方案:将前一个控件hidden=yes;而不是将控件置空!
2、xib拖的控件,如果走起页面中直接写.frame=什么这样事改变不了xib拖的控件的位置的!!!要想改变xib上控件的位置,你需要把xib的布局拉到.h/.m中声明一下,然后根据你的需要对布局进行更改。这里要注意的是改完之后一定要写上
[self.view setNeedsLayout];
[self.view layoutIfNeeded];
这两句话!!!
网友评论