我有一个具有两个垂直约束的视图,一个1:1的纵横比坐标系和一个中心对齐,因此它会根据屏幕的高度自动调整大小。现在,这个视图以UIImageViews的形式填充了一系列较小的子视图。我希望这些图像视图能够自动调整与超级视图成比例的大小,但我不知道如何做到这一点。我在superview中尝试了无数种约束,但都以一团糟而告终。有什么想法吗?
以下是一个带有1个UIImageView的示例:
首先设置ImageView在Superview中的位置(为简单起见,我选择了左上角):
NSDictionary* views = NSDictionaryOfVariableBindings(orangeView);
[superview addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[imageView]"
options:0
metrics:nil
views:views]];
[superview addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[imageView]"
options:0
metrics:nil
views:views]];
之后,将imageView的宽度和高度设置为相对于其超级视图:
[superview addConstraint:[NSLayoutConstraint constraintWithItem:imageView
attribute:NSLayoutAttributeHeight
relatedBy:NSLayoutRelationEqual
toItem:redView
attribute:NSLayoutAttributeHeight
multiplier:0.4//between 0.0 and 1.0
constant:0]];
[superview addConstraint:[NSLayoutConstraint constraintWithItem:imageView
attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationEqual
toItem:redView
attribute:NSLayoutAttributeWidth
multiplier:0.4//between 0.0 and 1.0
constant:0]];
我必须在屏幕上显示一个带有多个“开关”控件iPhone弹出窗口。并分别通过打开/关闭操作在弹出窗口上添加和删除子视图。有关情况的更好说明,请参见下面 就像上面一样,当“添加邮件”开关为“ON”时,弹出视图必须再次增加高度,再添加两个子视图。最后看起来像这样, 就是这样。我正在通过我的应用程序使用自动布局,这是我感到困惑的地方。我知道我可以删除弹出窗口,每次都可以再删除一个新的弹出窗口,但这似乎是新
我遇到了自动布局的问题,似乎无法找到应该很容易实现的答案。 我有以下视图层次结构: 标签上的前导/尾随限制使它们在更薄的设备上更高(iPhone 4s vs iPhone 6)。 为了让UIScrollview正常工作,我需要在UIScrollView内部设置UIView的高度约束,以避免出现“不明确的高度”警告。 但在iPhone 4s上运行时,UIView不够高,无法容纳它的子视图。 到目前为
我已经在IB中设计了我的自定义单元,将其子类化,并将我的插座连接到我的自定义类。我在单元格内容中有三个子视图,它们是:UIView(cdView)和两个标签(titleLabel和emailLabel)。根据每行可用的数据,有时我希望在单元格中显示UIView和两个标签,有时只显示两个标签。我想做的是这样设置约束,如果我将UIView属性设置为hidden,或者将其从superview中删除,则两
我有一列多个具有固有大小的动态子视图(图像、标签等)。如何让超级视图适应自动布局中的子视图? 如果子视图不是动态的,我会将最大的子视图的前沿/后沿约束到超级视图。像这样 我以为我能够与前缘对齐,然后将尾随约束设置为
我有3个子视图(、、
我有一个占据整个设备屏幕的< code>ScrollView。 在这个< code>ScrollView中,有一个< code>View包含3个< code>Label,在< code>TableView下面,最后是一个< code>Label。 现在,< code>TableView中注入了未知数量的项目,我不希望它滚动,所以我将它的高度作为< code>NSLayoutContraint附加,