在使用XCode 9构建iOS11时,Autoresizing
视图似乎不再可靠。
几个视图的布局最终会在XIB中定位控件,但是没有进行适当的调整。这在iOS10中运行良好,适用于在iOS11中运行的旧应用程序。但是,重建应用程序的定位和大小调整失败。
是否有更改会影响autoresizingmask
的使用?
有没有办法自动从AutoResizing
转换为AutoLayout and Constraints
?
修改
造成问题的控件是UINavigationBar
和UIToolBar
。
答案 0 :(得分:2)
我今天正在研究同一个问题:在某些情况下,有一件事情是换成类似(但不完全相同)的掩码值。例如,我们的一个视图不能与UIViewAutoresizingFlexibleHeight一起使用,但它适用于UIViewAutoresizingFlexibleBottomMargin。
我不知道升级到AutoLayout的自动方式 - 我实际上在其他项目中使用AutoLayout很多,而且概念基础是完全不同的......
如果我发现更好的话,我会编辑这个答案。
答案 1 :(得分:2)
这里的问题相同。正如@John Nimis所说,有时候玩面具似乎解决了这个问题。例如,当我们同时拥有顶部和底部蒙版(UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin)时,我们成功删除了顶部蒙版。
修改强> 我不知道这是否是一个明确的解决方案,但我注意到问题发生在我的框架上有一个固定的原点(x或y)。例如:
view.frame =(view1.frame.origin.x,150,width,height);
更改相对值中的固定值(例如相对于另一个view1)解决了掩码的问题:
view.frame =(view1.frame.origin.x,view1.frame.origin.y + view1.frame.size.height + 20,width,height);