【发布时间】:2016-04-26 10:39:41
【问题描述】:
我没有使用自动布局,我想知道是否可以在 UILabel 和 UITextView 之间指定约束。我尝试了提到的here,但我得到了一个错误View hierarchy unprepared for constraint,所以我查了一下,发现this,接受的答案说我试图添加约束的视图必须是子视图,如果这是正确的如何添加约束,以便我的UITextView 的X position 根据UILabel 的高度设置?我会发一张图片,让大家有个清晰的思路:
现在我不知道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]];
【问题讨论】:
-
你必须尝试视觉格式化方法。这是苹果推荐的,如果不使用自动布局,你将无法完成。
-
约束是驱动自动布局的东西。你不能没有另一个。你的意思是你想在没有界面生成器的情况下使用约束?
-
这与 IB 无关,我只是想设置约束(虽然没有自动布局)。
-
@Paulw11 - 所以我不能在没有自动布局的情况下添加约束?
标签: ios objective-c uiview autolayout constraints