2013-02-28 14 views
8

Возможно ли развернуть UITableView со статическими ячейками для автоматической настройки на 4-дюймовый экран iPhone 5 и развернуть высоту каждого из UITableViewCell соответственно? Если я создаю простой в IB с 3 статическими строками, когда я просматриваю его на iPhone 3.5 "показывает, что он выглядит хорошо, но на iPhone 4" дисплей содержит дополнительные пробелы внизу. Я пытался играть с автозапуском (меня интересует только iOS6), настройка параметров автозапуска и т. д., но безрезультатно.Как я могу расширить UITableView, чтобы заполнить весь экран на iPhone 5 с помощью Interface Builder?

BTW - Я знаю, что могу установить высоту в коде, например, в heightForRowAtIndexPath: разделить границы или высоту рамки по количеству строк (то есть 3 строки) Но я искал что-то более динамичного

..

+0

Я не думаю, что есть какая-либо настройка IB как API уже обеспечивает динамический метод для регулировки высоты ячеек, которые вы уже, кажется, знают: 'Tableview: heightForRowAtIndexPath:'. И вообще, что может быть более динамичным, чем регулировать высоту ячеек во время выполнения до границ дисплея? Это будет работать даже для неизданных, неизвестных устройств с большим и меньшим дисплеем. –

+0

сначала загружается ваше табличное представление, а затем ячейки загружаются после вызова методов dataSource. Поскольку ячейки не загружаются во время загрузки таблицыView, я предполагаю, что у вас не может быть лучшего варианта, чем метод «heightForRowAtIndexPath divide the bounds» для решения вашей проблемы. –

+0

Спасибо, ребята, я знаю, что вы говорите, что heightForRowAtIndexPath является «динамическим». Моя путаница заключается в том, что вы должны авторизовать и автоматизировать макет. Есть ли здесь какая-то роль? Могут ли они использоваться для этой же цели? –

ответ

3

Проблема была решена путем установки свойства AutoLayout в TableView. Как только я это сделал, таблица изменилась соответственно. Впоследствии я также обнаружил, что я мог бы позаботиться об изменении размера, установив маску AutoSize.

+1

Где установить AutoLayout? Я не могу найти его. – Gank

+0

Тот же вопрос, что и Gank выше, потому что в Xcode 6.1.1 невозможно вывести UITableView из редактора> Pin с супер-представлением. Как вы его связываете, используя Xcode 6.1.1 и UITableView, содержащие только статические ячейки? Заранее благодарю за ваш ответ. –

1

Другой способ решения (это сработало для меня) - нажать кнопку «Применить 4-дюймовый форм-фактор» и расширить UITableView до нижней части экрана.

enter image description here

+2

Но я не вижу его на раскадровке XCode 6.0. – Gank

2

У меня была аналогичная проблема. В Xcode 6.4 я добавил ограничения для моего UITableView в раскадровке.

enter image description here

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