如何为UITextView设置自动布局约束

时间:2014-02-22 14:13:26

标签: ios uiview ios7 uitextview nslayoutconstraint

我已经尝试了很多为UITextView设置auotolayout约束。但是当我跑步时,我得到了空白屏幕。我在UIButton尝试过相同的方式,这有效!!!!!

是否有任何属性要设置为UITextView ????

分配约束
UITextView *text1;
text1=[[UITextView alloc]initWithFrame:CGRectMake(50, 100, 100, 30)];
[text1 setBackgroundColor:[UIColor blueColor]];
set.text1=@"asjdgajsdbasbfbsdfbsdbfbsd";

[text1 sizeToFit];
set.translatesAutoresizingMaskIntoConstraints=NO;
[self.view addSubview:text1];   


NSLayoutConstraint *constraint;    
constraint = [NSLayoutConstraint constraintWithItem:text1 attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeBottom multiplier:1.0f constant:1.f];

[self.view addConstraint:constraint];

1 个答案:

答案 0 :(得分:3)

是的,就像说@ P.Sami你需要更多约束,因为行 set.translatesAutoresizingMaskIntoConstraints=NO; 禁用autoresizeMask它意味着你的框架不能正常工作。并且所有框架都通过约束来计算。 在您的事件中只有一个约束描述:constraint = [NSLayoutConstraint constraintWithItem:text1 attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeBottom multiplier:1.0f constant:1.f]; 这个约束告诉:“text1.bottom喜欢self.view.bottom * 1 + 1”首先,它不等于底边text1和superview,但是在1点向下偏移。其次,我们不知道高度,wight,x,y怎么样? 举个简单的例子,只需添加额外的限制:

[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[text]|" options:0 metrics:nil views:@{text1}]];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[text]|" options:0 metrics:nil views:@{text1}]];

它被告知text1就像Verticale和Horizo​​ntale的自我视图框架