我在ios的限制部分非常弱。我已经浏览了许多参考链接,如下所示,但仍无法解决我的问题。
Hide autolayout UIView : How to get existing NSLayoutConstraint to update this one
如果我需要根据某些条件更改UIView2的y轴。 storyboard.png显示了布局。
如果条件失败UIView2与步骤1,步骤2和步骤3 应该是可见的,它的位置也应该如条件1.png所示改变
如果条件通过UIView2与步骤1,步骤2和步骤3 不应该是可见的,如condition1.png
中所示请提供有关如何实现上述方案的步骤。我试过了,但如果为UIView1设置了约束,则高度保持不变,并且在运行时不会改变。
答案 0 :(得分:3)
只需使UIView的高度出口并使用常量属性来改变高度约束,如...
In [4]: def func1():
...: my_list = ['blahblah' for _ in range(100)]
...: my_list[:] = [m for m in my_list if 'blahblah' in m]
...:
In [5]: def func2():
...: my_list = ['blahblah' for _ in range(100)]
...: new_list = [m for m in my_list if 'blahblah' in m]
...:
In [6]: %timeit func1()
100000 loops, best of 3: 13.9 µs per loop
In [7]: %timeit func2()
100000 loops, best of 3: 13.2 µs per loop
In [8]: %timeit func1()
100000 loops, best of 3: 13.9 µs per loop
In [9]: %timeit func2()
100000 loops, best of 3: 13.2 µs per loop
In [10]: %timeit func1()
100000 loops, best of 3: 13.8 µs per loop
In [11]: %timeit func2()
100000 loops, best of 3: 13.3 µs per loop
答案 1 :(得分:0)
我在故事板上设置约束的插座,用于按钮之间的div(使用旧方式设置动态布局)。因此,对于大屏幕(iPhone 6及更高版本),我更新固定高度的值(app仅在纵向模式下查看)。对我有用的是:
constHeightlogo.constant = 140 //old value = 72
///set any other updates here then force the view
self.view.layoutIfNeeded()
像魅力一样工作。
参见此处的相关内容:
Update the constant property of a constraint programmatically in Swift?