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的不同