如何使用autolayout移动视图

时间:2013-01-28 13:57:30

标签: ios autolayout

当我删除另一个子视图时,我希望我的子视图移动到顶部并且它的superView缩小。

我有一个名为topView的视图。里面有三个视图:toField,fromField,subjectTextView。

我添加了以下约束来实现这一点,但它们不起作用:当删除toField时,没有任何反应,topView保持不变。

NSDictionary *viewsDictionary = NSDictionaryOfVariableBindings(_fromField, _toField, _subjectTextView);
NSArray *layoutConstraints = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|[_toField][_fromField][_subjectTextView]|" options:0 metrics:nil views:viewsDictionary];
[_topView addConstraints:layoutConstraints];

我已阅读Apple reference,但没有任何相关信息。

1 个答案:

答案 0 :(得分:0)

使用Interface Builder set:

topView_toField

之间的超级视图空间

_toField_fromField之间的垂直间距

_fromField_subjectTextView之间的垂直间距

_subjectTetView和superview之间的超级视图(这需要是负面的 - 比如-20.0)

当您隐藏subjectTextView时,只需将其高度约束设置为0.0,topView将缩小。