2016-04-26 171 views
0

我没有使用自动布局,我想知道是否可以指定UILabelUITextView之间的约束。我尝试了here,但是我得到了一个错误View hierarchy unprepared for constraint,所以我查找了这个,发现this,接受的答案表示我试图添加约束的视图必须是子视图,如果这是正确的,我怎么能添加约束,以便我的UITextViewX position根据UILabel的高度设置?我会发布图片,这样就会给大家明确的想法:不使用自动布局的约束?

enter image description here

现在我不知道,如果是UILabel一行或几行,我想我UITextView到相应地调整它的X位置。这是我添加的代码,因为我刚刚得知这件事请让我知道这是否是正确的:

NSLayoutConstraint *xConstraint=[NSLayoutConstraint constraintWithItem:self.tvNewsDetails attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.lblNewsTitle attribute:NSLayoutAttributeBottom multiplier:0.45 constant:0]; 

[self.tvNewsDetails addConstraints:@[xConstraint]]; 
+0

你必须尝试视觉格式化method.This被苹果推荐,你不能让它不使用自动布局完成。 – Arun

+0

检查此问题http://stackoverflow.com/questions/36606205/uiview-with-dynamic-height-multiple-uilabel/36607158#36607158 –

+0

约束是驱动自动布局的事情。没有其他人就没有一个。你的意思是你想使用没有接口构建器的约束? – Paulw11

回答

1

首先你要定义领导,拖尾,顶部,底部的UILabel。在右侧属性检查器Line = 0和行breakss =单词w​​arp

然后为uitextview设置contrains领先,拖尾,顶部,底部。如果uitextview的高度是固定大小的意思。为uitextview设置高度。

必须将这两个组件放在uiscollview中。

它将灵活,而标签的高度会增加