我正在开发一个应用程序,但我没有使用 Storyboard(或任何 xib 文件)。 Xib 文件看起来太复杂,有时在添加约束时应用程序会无缘无故崩溃,感觉就像一团糟(即使使用 xCode 重置自动约束)。 当我用纯代码编写它时,我得到了更好的结果,而且感觉更自然。
目前我正在添加 View 并通过使用 % 使它们相对(仅用于宽度) 并且它确保 View 将是 super View 宽度的 0.5
var someView : UIView = UIView(frame:
CGRect(
origin:CGPoint(
x: 0,
y: otherView.frame.maxY
),
size: CGSize(
width: otherView.frame.width * 0.5,
height: SOME_HEIGHT_CONST
)
)
)
而且效果很好,例如创建一个 super View 宽度为 0.8 的矩形:
问题是,旋转后:
不使用 Storyboard时处理方向的正确方法是什么?是否可以将 View 大小绑定(bind)到方向更改?
最佳答案
“正确”的方式,正如您所说的那样......或者,正如我称之为“最佳实践”......会让你使用 LayoutConstraints,并在需要时调整那些属性(相对于修改属性框架 - 例如宽度 - 直接)。
根据您支持的 iOS 版本,我建议您查看 WWDC 2015 视频(特别是关于自动布局/布局约束的视频)和 2014 视频(TransitionCoordinators、PresentationControllers 和 ViewControllers 的更新)。这将为您提供基础知识,以便您更好地了解在方向、内容、大小或位置更改期间调用哪些函数。
关于ios - 不使用 Storyboard时处理 iOS 方向的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31500397/