如何控制视图的相对位置,特别是我希望我的应用程序在3.5英寸和4英寸的显示屏上无缝运行?
如何控制视图的相对位置,特别是我希望我的应用程序在3.5英寸和4英寸的显示屏上无缝运行?
stackView.addArrangedSubview(someView)
addSubview()
,它将无法正常工作,因为堆栈视图不知道如何排列它。stackView.removeArrangedSubview(someView)
和someView.removeFromSuperview()
,否则视图将无法正确删除。没有等效或相对的线性布局。UI元素具有自动调整大小掩码,这些掩码定义了它们在父视图调整大小(例如屏幕旋转)时如何移动/拉伸。如果您打算为iOS 6+构建应用程序,则还可以使用布局约束进行定位。如果您无法使用这些工具解决重新定位问题,则应更改代码中UI元素的框架。
请查看:iOS 6应用程序 - 如何处理iPhone 5屏幕尺寸? 和 如何在Xcode中为iOS应用程序添加iPhone 5大屏幕支持?
但是,使用自动布局,您的大部分工作都已完成。在Xcode中点击您的项目,然后转到“摘要”选项卡,为您的应用程序添加不同屏幕尺寸的启动画面。
自动布局系统 ≫ 相对布局
UIStackView ≈ 线性布局
在我看来,UIStackView 的设计不够完善
它往往会产生约束冲突
x. 仅适用于 iOS 9+
因此,我编写了 AutoLinearLayoutView,作为 UIStackView 的替代品。
从 Github 上获取 AutoLinearLayoutView