不使用自动布局的约束?
Posted
技术标签:
【中文标题】不使用自动布局的约束?【英文标题】:Constraints without using auto-layout? 【发布时间】: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]];
【问题讨论】:
你必须尝试视觉格式化方法。这是苹果推荐的,如果不使用自动布局,你将无法完成。 查看***.com/questions/36606205/… 约束是驱动自动布局的东西。你不能没有另一个。你的意思是你想在没有界面生成器的情况下使用约束? 这与 IB 无关,我只是想设置约束(虽然没有自动布局)。 @Paulw11 - 所以我不能在没有自动布局的情况下添加约束? 【参考方案1】:首先为UILabel
设置前导、尾随、顶部、底部。在右侧角属性检查器 Line = 0 和换行符 = word wrap
然后为UITextview
设置约束前导、尾随、顶部、底部。如果UITextview
高度是固定大小,则表示为UITextview
设置高度。
必须将这两个组件都放在UIScrollview
中。
它会灵活,而标签高度会增加。
【讨论】:
以上是关于不使用自动布局的约束?的主要内容,如果未能解决你的问题,请参考以下文章