我已经尝试了很多为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];
答案 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和Horizontale的自我视图框架