2016-01-24 3 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 Plus?

ответ

0

Я столкнулся с этой проблемой, я думаю, что это какая-то ошибка или плохая функция, чтобы решить эту проблему я создал программную ячейку программно и сделал некоторые вычисления, используя ширину и высоту экрана, чтобы разместить объекты и правильно их размер без используя любые странные ограничения $$, это работало очень хорошо для меня, но у кого-то еще может быть лучшее решение, которое предлагает некоторые, а может и некоторые другие, рассмотрим (программный) подход, я нахожу это хорошим, удачи.

+0

Я закончил делать все программно, так как я не мог заставить его смотреть прямо на разных размерах экрана с помощью раскадровки. Я скорректировал размер/фрейм TableView в методе viewDidLayoutSubviews() 'viewControllers, так как тогда я могу получить правильный размер экрана из' self.view.frame'. – Jambaman

Смежные вопросы