在我的iOS应用程序中,我有一个位置选项卡。有UIPickerViews来选择位置,有UIButton来接受所选位置。布局将按钮放置得太靠近选取器视图,并且在按下按钮时太容易更改所选取的项目。
我试图通过指定到最近的选择器的50像素距离来将按钮移动到离选择器视图更远的地方。为此,我在按钮上添加了一个约束。但是Xcode工具找到了一个指定0距离的相反约束。运行时的错误消息为:
“<NSLayoutConstraint:0x 600002822 da 0 V:[UIPickerView:0x 7 fb 0 b2 e1 d5 f0]-(50)-[UIButton:0x 7 fb 0 b2 e1 e7 c 0 '在Map上显示'](active)>",“<NSLayoutConstraint:0x 6000028276 b 0 'UISV-spacing' V:[UIPickerView:0x 7 fb 0 b2 e1 d5 f0]-(0)-[UIButton:0x 7 fb 0 b2 e1 e7 c 0 '在Map上显示'](active)>”
所以这行不通。第二个限制不是我提出的。
我如何将按钮移动到离pickerview超过0像素的地方。
2条答案
按热度按时间ftf50wuq1#
正如您所看到的,UI设计不仅仅是向屏幕添加组件。
通过代码,您可以使用
setCustomSpacing(_:after:)
来“微调”布局。您也可以在堆栈视图中嵌入堆栈视图,如下所示:
x1c 0d1x的数据
的
我夸大了垂直间距来说明问题。
在不同的iPhone尺寸上查看此内容:
的
我不知道你是否考虑过如何处理其他特质的布局--比如在设备旋转时,或者在iPad上运行时……或者在iPad上进行多任务处理--但是你可能最终会得到一些特性变化,以便在宽短格式的布局中得到一些东西:
的
wgeznvg72#
我不需要用复杂的约束来微观地管理堆栈视图布局,而是尝试堆栈视图分布的选择。在属性检查器中选择堆栈视图,并从提供的选项中选择,找到一个您喜欢的并在几个设备模拟器上试用。