当设备方向更改时,TableView无法正确更新contentInSet属性

时间:2014-08-06 22:52:19

标签: ios objective-c iphone uitableview swift

特别是在比iPhone 4S更新的iPhone显示器上,我的tableView在横向模式下无法正常调整。

最初我以为autolayout导致了这个问题,但事实证明,只要设备方向发生变化,我的tableView的contentInSet属性就无法正常调整。我的tableView中的底部单元格(最后一个单元格)被部分切断,因为滚动无法到达足够远的距离。我可以解决这个问题的唯一方法是非常hacky,即在方向发生变化时(在某些设备上)手动调整contentInSet.bottom,如下所示:

override func willRotateToInterfaceOrientation(toInterfaceOrientation: UIInterfaceOrientation, duration: NSTimeInterval)
    {
        self.tableView.reloadData()
        if (toInterfaceOrientation.isLandscape == true) {
            self.tableView.contentInset.bottom = self.tableView.contentInset.bottom + 50
        }

    }

这将是一般性的想法,但它是一个未完成的实现,因为我觉得这不能解决这里发生的真正的错误。它还会阻止我的代码“面向未来”。有人可以帮帮我吗?

注意:这是在XCode 6 Beta 5(最新测试版)上运行。

0 个答案:

没有答案