【问题标题】:IOS Custom Table Cell does not Automatically Resize Width for Orientation ChangeIOS 自定义表格单元格不会自动调整宽度以更改方向
【发布时间】:2013-05-13 17:45:36
【问题描述】:

有一个自定义表格单元格,它有自己的 .XIB 和 .h 和 .m。没什么太花哨的。当设备旋转时,单元格宽度不会改变。索引路径的表格单元格被调用,但宽度没有变化(比如从纵向到横向)。什么会阻止这种情况?

不想手动设置帧大小。

如果需要,将发布代码,但也许我们可以在这个没有代码的情况下回答。

即使在横向启动应用程序也不会为单元格设置更大的宽度。

[加法]

也不适用于非自定义单元格。

self.tableViewSelection.autoresizesSubviews = true;
self.tableViewSelection.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
self.view.autoresizesSubviews = true;

表格的 XIB 的大小调整似乎设置正确(非 IOS6 支持)。

【问题讨论】:

  • 一些屏幕截图会很有帮助。在这里很难说出真正没有调整大小的地方。
  • 我同意,但我现在对这个问题不再感兴趣。如果版主愿意,我们可以删除它。

标签: ios uitableview custom-cell


【解决方案1】:

如果您要覆盖 layoutSubviews 或其他方法,请不要忘记将其称为 super:

override func layoutSubviews() {
    //...

    super.layoutSubviews()
}

不这样做会导致您面临的问题。

【讨论】:

  • 你是个天才
【解决方案2】:

单元格将自动与表格视图具有相同的宽度。所以没有调整大小的可能是表格视图。您需要给它适当的约束(如果使用 Autolayout,iOS 6 中的默认设置)或自动调整掩码(否则),以便它会调整大小以响应顶级视图调整大小以补偿设备旋转。

【讨论】:

  • 是的,这是应该发生的。出于某种原因,在这个项目中它不是并且试图弄清楚。在没有运气的情况下尝试了上面的硬代码。我假设单元格的正确大小是由表格视图在(用于索引的单元格)之后和之前(将显示单元格)设置的。
【解决方案3】:

我在旋转时自动调整自定义单元格时也遇到了同样的问题。战斗后,我得到了授权 cell.contentView 的解决方案,因为我将我的视图作为子视图添加到 cell.contentview 中。

我使用了以下代码,我的代码运行良好:)

cell.contentView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin;

【讨论】:

  • 你提到的是正确的,但自动调整掩码应该这样设置:(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight)。我也有你在代码中提到的同样的疑问,所以我在 SO 中发布了一个问题,你可以查看它以供参考:stackoverflow.com/questions/7754851/…
  • 从 Swift2 开始,此代码不再有效。所有这些常量最终都是未解析的标识符。
【解决方案4】:

对于 swift 2,它将是:

cell.contentView.autoresizingMask = [.FlexibleWidth, .FlexibleHeight]

【讨论】:

    【解决方案5】:

    在 Swift 4 中,以下内容有效。

    cell.cellUIView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
    

    注意: cellUIView 是我添加到原型单元的contentViewUIView

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-10
      • 2015-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多