【问题标题】:Size of UITableView behaves strange on different screen sizesUITableView 的大小在不同的屏幕尺寸上表现得很奇怪
【发布时间】:2016-01-24 12:38:48
【问题描述】:

我在 Storyboard 中创建了一个 UITableView,其前导和尾随空格 -20.0 到 superview 以使其横跨整个屏幕。

奇怪的是,当我现在在 iPhone 6(模拟器)上运行它并在 viewDidLoad 中打印时:

 print("TableView width: \(tableView.frame.width)")
 print("Screen width: \(UIScreen.mainScreen().bounds.width)") 

我明白了

TableView width: 600.0
Screen width: 375.0

viewDidAppear 给我的也是一样:

TableView width: 383.0
Screen width: 375.0

在 iPhone 6 Plus(也是模拟器)打印上执行完全相同的操作时

TableView width: 600.0
Screen width: 414.0

TableView width: 414.0
Screen width: 414.0

分别。

为什么在 iPhone 6 的情况下,table view 的宽度与屏幕宽度不同,而在 6 Plus 的情况下则不然?

【问题讨论】:

    标签: ios swift uitableview uikit ios-simulator


    【解决方案1】:

    我遇到了这个问题,我认为这是某种错误或不好的功能,为了解决这个问题,我以编程方式创建了自定义单元格,并使用屏幕宽度和高度进行了一些计算以放置对象并正确调整它们的大小而不使用任何奇怪的 a$$ 约束,这对我来说非常有效,但其他人可能有更好的解决方案,适合某些人,可能不适合其他人,考虑(以编程方式)方法,我觉得很好,祝你好运。

    【讨论】:

    • 我最终以编程方式制作了所有内容,因为使用 Storyboards 无法让它在不同的屏幕尺寸上看起来正确。我在 viewControllers 的 viewDidLayoutSubviews() 方法中调整了 TableView 的尺寸/框架,这样我就可以从 self.view.frame 获得正确的屏幕尺寸。
    猜你喜欢
    • 2012-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多