【问题标题】:Layout issues in UITableView after updating to Xcode 9更新到 Xcode 9 后 UITableView 中的布局问题
【发布时间】:2018-05-01 12:19:58
【问题描述】:

我更新到 Xcode 9 后,iOS 10 设备中的 UITableView 的行为非常奇怪。不维护 tableView 单元格大小。它会自行调整大小,而不是遵循我明确编码的约束和单元格大小。 tableView 单元格之间的间隙突然变黑了。然而,这些布局问题并没有在 iOS 11 手机中得到解决。 简而言之,布局在 iOS 10 设备中完全被搞砸了。更新到 Xcode 9 后是否还有其他人具有向后兼容性?如果是这样,您是如何解决的。

要更改自定义表格视图单元格单元格的框架宽度,我正在使用框架属性。我使用的代码是

    override var frame: CGRect {

    //Decrease frame width of the tableViewCell
    get {
        return super.frame
    }
    set (newFrame) {
        var frame = newFrame
        frame.origin.x += 8
        frame.size.width = frame.size.width-16
        super.frame = frame
    }
}

以下是 iOS 11 中 tableViewCell 的呈现方式,正确

这是 tableViewCell 在 iOS 10 中的显示方式,这是不正确的

[

如您所见,从右边距到 tableView Cell 的差距更大。

【问题讨论】:

  • 如果您希望任何人能够提供帮助,您将需要显示一些代码。此外,一些屏幕截图比书面解释更能帮助您解释您所看到的内容。
  • 根据您提供的信息(即没有人),没有人可以提供帮助。添加赏金并不能改善问题。
  • 另外,如果你有 sampe xcode 项目可以重现你的问题,请将它发布到 github 的任何地方
  • @matt 请检查更新后的问题。很抱歉遗漏了必需品。希望这会有所帮助。
  • "要更改自定义表格视图单元格单元格的框架宽度,我正在使用框架属性" 嗯,这是完全非法且不受支持的(而且非常奇怪)。你无权触摸单元格的框架。所以不太可能有人会帮助你做到这一点。 “我希望赏金获得者告诉我为什么会发生这种情况”它正在发生,因为你所做的事情是完全非法的和不受支持的(而且非常奇怪)。 :)

标签: ios xcode uitableview xcode9


【解决方案1】:

丢弃您现有的代码。不要以任何方式触摸单元格的框架。

要使单元格看起来比表格窄,请给单元格一个清晰的背景,并在从单元格边界插入的内容视图中放置一个不透明的视图(或者您可以使用单元格的背景对此的看法)。使用自动布局来配置它,这样它就可以不受屏幕大小的影响。

【讨论】:

    猜你喜欢
    • 2018-03-07
    • 2017-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-27
    • 1970-01-01
    • 1970-01-01
    • 2017-03-18
    相关资源
    最近更新 更多