【问题标题】:UITableView rendering differences between iOS 6 and iOS 8iOS 6 和 iOS 8 的 UITableView 渲染差异
【发布时间】:2015-05-07 20:16:47
【问题描述】:

我正在将旧应用程序从 XCode 4.6 更新到 6.3,并且在 iOS 6 和 iOS 8 之间呈现自定义表格视图单元格的方式有所不同(在 iOS 7 中可以看到更改为好吧)。

以下是 Xcode 4.6/iOS 6.1 模拟器的 2 个屏幕截图:

这里是等效的 Xcode 6.3/iOS 8.1 模拟器:

(作为背景,Preferences 屏幕是一个分组的 UITableView,有 3 个组,每组 1 个元素。Units 屏幕是一个具有 3 个元素的单节 UITableView。Units 图像上的“Note”只是一个普通视图)

我没想到(也不喜欢)的不同之处在于,在 iOS 8 中,自定义表格单元格已经水平扩展以覆盖整个屏幕宽度,并且也失去了圆角。

我一直在四处寻找是否/如何使 iOS 8.1 版本看起来更像 6.1 版本,但到目前为止都失败了。

是否可以轻松取回我想要的布局?如果是这样,我应该在哪里进行更改?

【问题讨论】:

  • 更改从 iOS 7.0 开始。人们现在期待它。拥抱它,不要抗拒它。
  • @maddy 所以你是说我的问题是“否”?

标签: ios objective-c uitableview


【解决方案1】:

一种可能的方法是将tableView.backgroundColor 和您的自定义单元格的contentView.backgroundColor 设置为clearColor(也可以通过界面生成器完成)。然后将背景视图添加到您的自定义单元格。你可以给它圆角并在它周围增加空间。

这是它在运行时的样子(蓝色背景属于tableView后面的视图):

但当我们处理右侧屏幕截图中的一组单元格时,这会更加棘手。第一个单元格的顶部必须有圆角,最后一个单元格的底部必须有圆角,中间的单元格不应该有圆角。我想是可以做到的(配置单元格时可以考虑indexPath),但需要做更多的工作。

附:我很抱歉图像的大小。不知道怎么限制。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-02
    • 2013-07-20
    • 2015-12-29
    • 1970-01-01
    • 2013-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多