我有一个更大的屏幕设计,它有加号按钮,用于添加更多字段。例如,我需要添加2个电子邮件/电话号码,当我按下加号按钮时,它将在电子邮件标题中显示另一个文本字段,反之亦然。如果我以编程方式使用hide和show方法,则其余空格将为空白。为此,我需要为视图设置约束和setLayout。怎么可能?
答案 0 :(得分:2)
我想快速看一下这个想法。
在内部进行滚动查看,将一个视图显示为您的文本字段,如电子邮件和更多您想要的文本。
现在设计所有字段,无论你要显示什么。
添加
@property (strong, nonatomic) IBOutlet NSLayoutConstraint *ViewHeightConstraints;
用于隐藏文本字段时的容器视图只需将所有hideTextfield的高度减去ViewHeightConstraints。
当你隐藏文本字段时,请执行以下操作:
ViewHeightConstraints.constant = 0;
_addressView.hidden = YES;
[self.view layoutIfNeeded];
好的,当你显示textfield做这样的事情时:
ViewHeightConstraints.constant = 243;
_addressView.hidden = NO;
[self.view layoutIfNeeded];
每当你改变约束时,每次都写这个。
[self.view layoutIfNeeded];
用于为MainView的主视图集高度约束设置框架。我这样做了。
@property (strong, nonatomic) IBOutlet NSLayoutConstraint *containerHeightConstraints;
_containerHeightConstraints.constant = _bottomView.frame.origin.y+_bottomViewHeight.constant;
[self.view layoutIfNeeded];
希望它能奏效。
答案 1 :(得分:1)
您需要为此获取字段高度约束的IBOutlet。
@property (strong, nonatomic) IBOutlet NSLayoutConstraint *fieldConstraintHeight;
现在当你想隐藏它时使用
fieldConstraintHeight.constant = 0;