【问题标题】:Resizing UIImageView based on UITableViewCell content height using autolayout constraints使用自动布局约束根据 UITableViewCell 内容高度调整 UIImageView 的大小
【发布时间】:2015-08-02 23:48:18
【问题描述】:

我有一个UITableViewCell xib,其视图如下:

如图所示,它有以下组件:

  1. UILabel - 日期标签
  2. UILabel - 地址标签
  3. UILabel - 标准标签
  4. UIImageView - separatorImageView

由于我想根据标签中的内容增加单元格的高度,我为每个添加了以下约束:

所以 dateLabel 约束是:

addressLabel 约束是:

criteriaLabel 约束是:

在不为separatorImageView 添加约束的情况下,单元格如下所示:

即。单元格正在根据完美的内容调整大小:)

现在的问题是 - 如果我将以下约束添加到 separatorImageView:

单元格开始显示如下:

请建议我应该向separatorImageView 添加哪些约束,以便它根据单元格的高度调整大小而不影响单元格的正确调整大小。

【问题讨论】:

  • UIImageView 使用的是什么内容模式?确保它设置为 UIViewContentModeScaleAspectFit
  • 我检查了属性检查器,它是AspectFit,这里还要注意的是,一旦我向它添加了自动布局约束,它也会影响其他约束的行为,这可以在最后一张图片中观察到
  • 试试 UIViewContentModeScaleAspectFill。如果它仍然看起来那样,则将其背景颜色设置为非白色,然后查看真正的图像框架。
  • 当然我会尝试,但我仍然会遇到不正确的单元格高度问题,我将自动布局约束应用于图像视图,请参考我添加的最后一张图像。

标签: ios cocoa-touch uistoryboard autolayout


【解决方案1】:

也许这不是最好的答案,但对于特殊情况我会这样做:

  1. 创建一个名为 resizingVIEW 的 UIView,将其固定到超级视图 (contentView) 的顶部、底部、尾部、前导

  2. 移除 separatorImageView 底部空间约束

  3. ctrl+点击从separatorImageView到reizingVIEW,选择等高

(注意设置 resizingVIEW 背景颜色以清除颜色/或隐藏它)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-21
    • 1970-01-01
    • 2013-05-14
    • 1970-01-01
    • 1970-01-01
    • 2014-10-16
    • 1970-01-01
    相关资源
    最近更新 更多