我拼命想要在Interface Builder中约束UILabel
和UITextView
的第一个基线。根据我的理解,通过简单地添加以下约束(伪代码),这应该是非常容易的:
label.firstBaseline = textView.firstBaseline
但是,根据其他约束和一些视图设置,我会得到非常尴尬的结果,如以下屏幕截图所示。
这仅用于显示常规视图设置。我已禁用textView
的滚动功能以避免歧义。 (否则textView
无法根据其包含的文本计算自己的高度。)
与第一种情况相同的设置,唯一的区别是我删除了对齐视图顶边的约束,并添加了一个约束视图的第一个基线的约束。
出于某种原因,标签"起飞"远远超出其超级视图的范围,最终位于7764的y位置。不知道为什么。
现在我为textView
启用了滚动并改为限制其高度。
显然,label
的第一个基线与textView
的上边缘对齐,即使约束说要对齐它们的第一个基线。我在Apple文档中读到,如果该视图没有基线,firstBaseline
参数会返回视图的上边缘。所以似乎textView
在这种情况下没有第一个基线。
UITextView
一般没有firstBaseline
吗?
如果是这样:为什么?毕竟,它是一个绘制文本的视图,因此应该设置此属性。
对此的任何想法都表示赞赏。