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

3
我正在尝试为iPhone创建一个自定义下拉菜单,可以简单地将其连接到Storyboard编辑器中的任意数量的视图控制器。我的代码在动画/ 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个回答

3
您需要使用Autolayout来完成这个操作。首先,选择您想要固定在屏幕底部的视图,并选择Autolayout“固定”按钮(在屏幕右下角一组按钮中从左数第三个)。您应该可以看到这个菜单。
值可能因您使用的屏幕大小和所需约束的视图大小而异,但是您首先需要选择顶部约束的下拉菜单。确保选择限制到“顶部布局指南”的底部选项。在将此约束添加到视图后,您需要在Interface Builder“文档大纲”(左侧栏)上展开约束。选择“垂直间距”约束并导航到“属性检查器”(右侧栏上的第四个图标)。将“关系”下拉菜单从“等于”更改为“小于或等于”。
然后,您需要为底部约束执行类似的操作,但是这次,您需要选择倒数第二个选项“View”(当前距离=0)
根据需要设置边缘约束。您可能希望仅使用与底边相同的约束类型,前提是条始终在屏幕上以320pts宽并水平居中。

它在两种尺寸的设备上都按照我想要的方式工作,这很棒,但现在我收到了一个警告,说我的视图具有模糊的布局。我可以无视它继续幸福地进行下去吗?还是我应该尝试解决这个问题? - Darryl Bayliss
@DarrylBayliss 你应该可以通过添加一些左侧和右侧的约束来解决这个问题。如果这解决了问题,请不要忘记标记为正确 :) - Mick MacCallum

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接