XIB建的界面 里面用scrollView实现的,我选定了一个模拟器iPhoneSE然后运行之后,5的尺寸一样,所以没问题,6和7的尺寸运行出问题了,就是宽度出问题了,还是5的宽度。吓得我以为不同宽度的都要再做一份,但是我并没有这么做,我要XIB就是为了省代码才用的,干嘛还要创建那么多界面呢。然后我就想到了一个方法试试看看能不能解决,结果很惊喜,我一试真的解决了这个问题。
你可以随便选择一个模拟器做好界面,然后在代码里面加一段代码就好了,下面就是代码了
-(void)viewWillLayoutSubviews{
[super viewWillLayoutSubviews];
self.viewWidthContraint.constant =
[UIScreen mainScreen].bounds.size.width;
}self.viewWidthContraint.constant这个是把scrollView的view的宽度的属性
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *viewWidthContraint;
不知道是因为升级了xcode8之后才会这样,还是我的问题。不过要改变这个要在这个方法viewWillLayoutSubviews里面改,这个是升级之后改变frame的不同
本文介绍了一个使用XIB界面布局时遇到的问题:在不同尺寸的iPhone上显示宽度不一致。通过在viewWillLayoutSubviews方法中动态调整scrollView宽度约束,实现了界面的自适应。
1077

被折叠的 条评论
为什么被折叠?



