问题:
用代码按比例来创建界面时,竖屏没问题但是当屏幕发生旋转时,界面布局会乱,乱的原因时 width变成height,height变成width。
解决方案:
在类里面创建写一个方法 (func initframe(width: CGFloat, height: CGFloat) ) 把设置控件的frame 写到这个方法里,注意 该方法只放设置frame, 然后在 func viewWillLayoutSubviews() 这个方法里面 调用 initframe这个方法 就可以实现横竖屏切换界面不会乱。 横竖屏转换时会调用 viewWillLayoutSubviews 这个方法。
-
添加约束 也可以解决该问题。
添加约束时横屏屏都要添加,最简单添加约束的方法是 选中控件点击
这个按钮选择 all view in ..... 下的add missing constraints 这样就可以把整个界面的约束一次性全添加好了。 在点击别的按钮 如果别的按钮约束出现冲突,照刚才的操作 对冲突按钮 在添加一遍约束 一般就可以了。