我有三个水平排列的视图(A,B,C)。 A具有固定宽度,B具有最大宽度,C具有最小宽度,并且将所有剩余空间填充到屏幕的宽度。
B是一个图像,可以缩放保留其宽高比。
在大屏幕上,B达到最大尺寸,看起来很棒。在一个非常小的屏幕上,B完全消失,这很好。然而,在两者之间,我们有时会将B看作一个非常小的图像 - 只有几个像素宽,太小而无法显示出来。
我怎么说,“如果B小于20像素宽,则完全隐藏它”?
(我必须支持iOS 7,所以我更喜欢不使用UIStackView的解决方案。)
答案 0 :(得分:1)
您可以通过优先考虑约束来执行此操作。当它们不满足视图时使它们断开,然后还有一个宽度为零的约束,其中"最低优先级"。
答案 1 :(得分:0)
不,如果视图的权重小于阈值,则单独的Autolayout无法隐藏视图。 正如评论中所提到的,你必须处理这样的依赖关系检查宽度,然后有条件地隐藏它。
答案 2 :(得分:0)
使用autoLayout,您应该定义一个适合所有情况的布局,这意味着适应性强。 所以没有“如果宽度小于那么......那么......”,当我们使用字符串和豆芽时,我们会使用它,但不是今天。 对于你所面临的具体情况,我会在“B”上设置一个不会低于20的约束。或者使“a”和“c”更宽,这样“B”就会消失