使用AutoLayout根据子视图中的动态文本增长视图

Using AutoLayout to grow a view based on dynamic text in subview

我正在开发支持动态类型的应用程序。我有一个简单的 UIView,用作 table 中的页脚。在该视图中只有一个 UIButton。当用户增加动态字体大小时,按钮标签中的文本会增长,我需要按钮本身和包含的视图都适当增长。我怎样才能做到这一点?

谢谢,

UIButton class 具有 固有大小 ,这意味着如果您不将其限制为特定大小,它将自行调整大小适合其内容的大小。这也意味着您可以将按钮绑定到父级 UIView 的边缘,并让按钮控制父级的大小。只要您没有明确限制 UIButtonUIView.

的大小,这就会自动发生

如果需要,您可以选择在一个轴上设置约束并让按钮控制另一个轴的大小,例如让按钮控制页脚的高度,但始终使用固定宽度页脚。在这种情况下,您将约束添加到页脚的宽度或 left/right。

Read more on controls that supports intrinsic sizes

如果您需要 space 围绕按钮标签,您可以通过增加内容插入来添加它。