我在iOS应用程序中遇到视觉限制问题。
我有四个UIViews。一个始终是“标题”或顶视图,其他三个轮流在其下方可见,如下所示:
+-------------------+
| HeaderView |
+-------------------+
| View2|View3|View4 |
+-------------------+
一次只能看到View2,View3或View4中的一个,其他的在不使用时会被隐藏。
现在,使用常规NSLayoutConstraints
,我能够让它工作得非常好:
所以,我正在尝试将其转换为视觉约束。这是我到目前为止的水平约束,它很棒:
@"H:|-0-[HeaderView]-0-|"
@"H:|-0-[View2]-0-|"
@"H:|-0-[View3]-0-|"
@"H:|-0-[View4]-0-|"
现在,垂直约束是我遇到麻烦的地方:
我尝试了以下内容:
@"V:|-0-[HeaderView(100)]-0-[View2(25)]-0-[View3(50)]-0-[View4(75)]"
我也尝试过分裂:
@"V:|-0-[HeaderView(100)-0-[View2(25)]"
@"V:|-0-[HeaderView(100)-0-[View2(50)]"
@"V:|-0-[HeaderView(100)-0-[View2(75)]"
现在,问题是垂直布局永远不会正确 - 几乎总是,View2,View3或View4将位于HeaderView的顶部,而不是它的下方。
有关如何清理并修复垂直布局的任何建议吗?
答案 0 :(得分:1)
试试这个,
V:[HeaderView(100)]-[View1(25)]
V:[HeaderView(100)]-[View2(50)]
V:[HeaderView(100)]-[View3(75)]
并确保您正确设置views
方法的constraintsWithVisualFormat
参数。它应该是super view
的{{1}},您要设置约束,或者应该与您的约束相关联。{/ p>
希望这会有所帮助:)
答案 1 :(得分:0)
MarcWan,
约束中没有任何错误我相信如果这完全是你在所有约束中错过']'所使用的约束。
试试这个,
@"V:|-0-[HeaderView(100)]-0-[View2(25)]-0-[View3(50)]-0-[View4(75)]"