将自定义UIView锚定到屏幕底部相对于屏幕大小

时间:2013-11-22 17:45:02

标签: ios iphone uiview autolayout

我正在尝试为iPhone创建一个自定义上拉菜单,我可以简单地连接到Storyboard Editor中的任意数量的视图控制器,我的代码按照动画/ IBActions等方式工作,但是我似乎无法像我希望的iPhone 4英寸外形尺寸(iPhone 5及以上版本)那样固定视图。

我尝试了各种约束,但我似乎无法让视图坚持下去。在这一点上,我已经完全消除了所有限制因素,所以这两种观点暂时只是存在。

下面的屏幕截图显示了我的问题:

iPhone 4 / 4S视图:

enter image description here

iPhone 5 / 5C / 5S视图:

enter image description here

正如您所看到的,iPhone 5视图中突出显示的视图显示了屏幕外应隐藏的内容。我希望的想法解决方案理想情况下是使用Autolayout的某种配置我没有考虑过,或者最坏的情况是添加一些代码来定位UIView。

提前致谢。

1 个答案:

答案 0 :(得分:3)

您需要使用Autolayout来执行此操作。首先,选择视图并尝试固定屏幕底部,然后选择Autolayout“Pin”按钮,屏幕截图右下方按钮组左侧的第3个按钮。你应该看到这个菜单。

值可能会有所不同,具体取决于您使用的屏幕尺寸以及您尝试约束的视图的大小,但您需要先选择顶部约束的下拉菜单。您需要确保选择底部选项以约束“顶部布局指南”。将此约束添加到视图后,您将需要在Interface Builder“文档大纲”(左侧栏)上扩展约束。选择“垂直空间”约束并导航到“属性检查器”(右侧栏上的第4个图标)。将“关系”下拉列表从“等于”更改为“小于或等于”。

enter image description here

然后你需要为底部约束做类似的事情,除了这次,你要选择第二个到底部的选项“View”(当前距离= 0)

enter image description here

然后根据需要为侧面设置约束。您可能只想使用与底边相同的约束类型,当然假设条总是320pts宽并且在屏幕上水平居中。