如何使用自动布局来移动视图
Posted
技术标签:
【中文标题】如何使用自动布局来移动视图【英文标题】:How to use autolayout to move a view 【发布时间】:2013-01-28 13:57:29 【问题描述】:当我删除另一个子视图时,我希望我的子视图移动到顶部并且它的超级视图缩小。
我有一个视图,称为 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】:使用界面生成器集:
topView
和 _toField
之间的超级视图的顶部空间
_toField
和 _fromField
之间的垂直间距
_fromField
和 _subjectTextView
之间的垂直间距
_subjectTetView
和 superview 之间的 superview 底部空间(这必须是负数 - 比如说 -20.0)
当您隐藏subjectTextView
时,只需将其高度约束设置为0.0,topView
就会缩小。
【讨论】:
以上是关于如何使用自动布局来移动视图的主要内容,如果未能解决你的问题,请参考以下文章
如何移动子视图控制器,同时使用自动布局而不是框架隐藏状态栏?