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

问题描述:

所以我一直在移动代码的一部分使用约束,而不是使用框架的旧方法。这是我需要移动的当前代码。当用户按下按钮时隐藏\取消隐藏下方的tabbar,我需要更改视图的高度。如何使用约束设置自身视图高度?

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

这短短的tutorial将是对你有帮助。

可以使用VFL做到这一点(我个人比较喜欢,见上面的链接),或者通过这种代码:

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

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

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