如何使用约束设置自我视图高度?

时间:2014-09-04 18:14:10

标签: ios autolayout constraints

所以我一直在移动代码的一部分来使用约束而不是旧的使用框架的方式。这是我需要移动的当前代码。当我隐藏时,我需要更改视图的高度\当用户按下按钮时取消隐藏下面的标签栏。

CGRect newFrame = self.view.frame;
newFrame.size.height += 44
self.view.frame = newFrame;

self.view是UIViewController。我想设置图片中显示的视图的高度。无法为其添加高度约束(您可以轻松地在子视图上设置它,我不想要)Selected View whose height needs to be set using constraints

我没有看到使用约束设置自我视图高度的方法。

感谢 arpit

1 个答案:

答案 0 :(得分:1)

此简短tutorial对您有所帮助。

您可以使用VFL(我个人更喜欢,请参阅上面的链接)或通过这种代码来实现:

[yourView addConstraint:[NSLayoutConstraint constraintWithItem:yourView    
                                                     attribute:NSLayoutAttributeHeight
                                                     relatedBy:0 
                                                        toItem:nil
                                                     attribute:NSLayoutAttributeNotAnAttribute 
                                                    multiplier:1 
                                                      constant:requiredHeight]];

这段代码会为yourView指定的requiredHeight高度添加约束。在开始编码之前,请查看intrinsicContentSize和updateConstraints方法。

设置约束时,请记住首先设置(对于视图,您将设置约束)translatesAutoresizingMaskIntoConstraints标志为NO(默认情况下设置为YES)。阅读this也应该对这个话题有所了解。