【问题标题】:Dynamically layout scrollview contentSize with AutoLayout使用 AutoLayout 动态布局滚动视图 contentSize
【发布时间】:2013-07-07 09:35:06
【问题描述】:

我有一个简单的案例: 我有以下视图层次结构:

  1. 查看
    1. 滚动视图
      1. 查看
        1. 标签

我的标签位于它的超级视图的底部,它的高度是动态变化的,这取决于它正在呈现的文本的大小。

我的目标是根据文本调整标签大小,使没有文本被截断,并随着标签行的增长,增加滚动视图的内容大小,使标签始终位于底部。

我如何使用自动布局来做到这一点,最好只来自 IB?

【问题讨论】:

    标签: ios autolayout


    【解决方案1】:

    如果您希望 UILabel 使用自动布局固定在其父 UIView 的底部,那么当 UILabel 高度增加时,该视图不会扩展其高度,真正发生的是 UILabel将向上移动以占据更多区域。

    如果您希望您的 UIView 扩展,则不要在该 UIView 中使用自动布局,并将您的 UILabel 定位在恒定原点,然后根据 UILabel 更改视图的高度和滚动视图高度文本。

    您可以使用以下代码行获取 UILabel 大小:

    CGSize expectedLabelSize = [yourString sizeWithFont:yourLabel.font 
                            constrainedToSize:maximumLabelSize 
                            lineBreakMode:yourLabel.lineBreakMode];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多