2016-01-24 200 views
1

我有一個故事板創建一個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

我就遇到了這個問題,我認爲這是某種錯誤的或壞的特性,來解決這個我創建程序的自定義單元格,並做了一些計算使用屏幕寬度和高度將對象放置和尺寸他們正確不使用任何奇怪的$$約束條件,這對我的工作非常好,但其他人可能有更好的解決方案,套房一些,可能不是其他人,考慮(程序)的方法,我覺得很好,祝你好運。

+0

我最終以編程方式製作了所有東西,因爲我無法使用情節串連圖板在不同的屏幕尺寸上看它。我在viewControllers的viewDidLayoutSubviews()方法中調整了TableView的大小/框架,然後我可以從'self.view.frame'獲得正確的屏幕大小。 – Jambaman