Android RelativeLayout/LinearLayout的iOS等价物是什么?
我如何控制视图的相对位置,尤其是我希望我的应用程序能够无缝地在3.5英寸和4英寸显示器上运行?请查看以下内容:和Android RelativeLayout/LinearLayout的iOS等价物是什么?,android,ios,android-layout,android-relativelayout,Android,Ios,Android Layout,Android Relativelayout,我如何控制视图的相对位置,尤其是我希望我的应用程序能够无缝地在3.5英寸和4英寸显示器上运行?请查看以下内容:和 但大部分情况下都是通过自动布局完成的。在Xcode中单击您的项目并转到摘要选项卡,为您的应用程序添加不同屏幕大小的启动屏幕。没有等效或相对和线性布局。UI元素具有自动调整大小的遮罩,该遮罩定义在调整superview的大小(例如屏幕旋转)时如何移动/拉伸它们。如果您打算为iOS 6+构建应用程序,还可以使用布局约束进行定位。如果无法使用这些工具解决重新定位问题,则应更改代码中UI元素
但大部分情况下都是通过自动布局完成的。在Xcode中单击您的项目并转到摘要选项卡,为您的应用程序添加不同屏幕大小的启动屏幕。没有等效或相对和线性布局。UI元素具有自动调整大小的遮罩,该遮罩定义在调整superview的大小(例如屏幕旋转)时如何移动/拉伸它们。如果您打算为iOS 6+构建应用程序,还可以使用布局约束进行定位。如果无法使用这些工具解决重新定位问题,则应更改代码中UI元素的框架 从iOS 9开始,您可以使用
UIStackView
,它的工作原理与LinearLayout
非常相似:您可以添加视图,堆栈视图根据需要根据您的大小调整选项来排列视图–如果您使用的是Interface Builder,您可以对每个选项进行实验,以查看哪个选项适合您的需要。还可以在堆栈视图中设置视图之间的间距,添加一些填充
警告:在代码中添加堆栈视图子视图时,应始终使用addArrangedSubview()
如下所示:
stackView.addArrangedSubview(someView)
如果尝试使用普通的oldaddSubview()
它将无法正常工作,因为堆栈视图不知道如何排列它
至于删除,您需要小心使用stackView.removeArrangedSubview(someView)
和someView.removeFromSuperview()
,否则无法正确删除视图
您可能会发现我的系统很有用。自动布局系统≫ 相对论 乌斯塔克视图≈ 线性布局 IMO.UIStackView设计得不好