繁体   English   中英

以编程方式向UITextField添加约束

[英]Adding constraints to UITextField programmatically

我正在学习自动布局而不使用StoryBoard。 我给出了尾随,前导,顶部和底部的四个约束。

码:

UITextField *searchBarTF=[[UITextField alloc]init];  
[searchBarTF setText:@"is it coming?"];
[views addSubview:searchBarTF];

[views addConstraint:[NSLayoutConstraint constraintWithItem:searchBarTF attribute:NSLayoutAttributeLeading relatedBy:NSLayoutRelationEqual toItem:views attribute:NSLayoutAttributeLeading multiplier:1.0 constant:30]];

[views addConstraint:[NSLayoutConstraint constraintWithItem:searchBarTF attribute:NSLayoutAttributeTrailing   relatedBy:NSLayoutRelationEqual toItem:views attribute:NSLayoutAttributeTrailing multiplier:1.0 constant:30]];

[views addConstraint:[NSLayoutConstraint constraintWithItem:searchBarTF attribute:NSLayoutAttributeTop    relatedBy:NSLayoutRelationEqual toItem:views attribute:NSLayoutAttributeTop multiplier:1.0 constant:30]];

[views addConstraint:[NSLayoutConstraint constraintWithItem:searchBarTF attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:views attribute:NSLayoutAttributeBottom multiplier:1.0 constant:230]];

TextField没有出现在屏幕上。

错误:

Unable to simultaneously satisfy constraints.
    Probably at least one of the constraints in the following list is one you don't want.

您只是忘了这段代码:

[searchBarTF setTranslatesAutoresizingMaskIntoConstraints:NO];

默认情况下,这是True 因此,您的约束与自动调整大小约束冲突。

上面的行将禁用自动调整文本字段的大小,并将应用您定义的约束。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM