UITableView的尺寸表现不同的屏幕上大小怪

问题描述:

我有一个故事板创建一个UITableView,首尾的空间-20.0至上海华盈,使其在整个屏幕拉伸。UITableView的尺寸表现不同的屏幕上大小怪

的奇怪的是,当我现在在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情况下的屏幕的宽度不同,而不是在6加情况下,表视图的宽度?

我就遇到了这个问题,我认为这是某种错误的或坏的特性,来解决这个我创建程序的自定义单元格,并做了一些计算使用屏幕宽度和高度将对象放置和尺寸他们正确不使用任何奇怪的$$约束条件,这对我的工作非常好,但其他人可能有更好的解决方案,套房一些,可能不是其他人,考虑(程序)的方法,我觉得很好,祝你好运。

+0

我最终以编程方式制作了所有东西,因为我无法使用情节串连图板在不同的屏幕尺寸上看它。我在viewControllers的viewDidLayoutSubviews()方法中调整了TableView的大小/框架,然后我可以从'self.view.frame'获得正确的屏幕大小。 – Jambaman