Верхнее поле на UITableViewController - PullRequest
39 голосов
/ 09 октября 2009

У меня есть TabBarController, одна из вкладок которого содержит вспомогательное представление, которое является навигационным контроллером. Затем я загружаю в контроллер навигации представление, которое наследует форму UITableViewController.

Моя проблема в том, что по какой-то причине табличное представление начинает работать с контроллером навигации, не с верхней части экрана, а примерно на половине пути вниз по панели навигации, поэтому верхняя часть первой ячейки в табличном представлении обрезается.

Кто-нибудь может подсказать, как переместить UITableViewController вниз?

Ответы [ 3 ]

98 голосов
/ 23 октября 2009

Исправить это программно:

   - (void)viewDidLoad {
       UIEdgeInsets inset = UIEdgeInsetsMake(20, 0, 0, 0);
       self.tableView.contentInset = inset;
   }
7 голосов
/ 27 сентября 2013

Эта проблема «скрыта за панелью навигации» связана с тем, что iOS 7 использует полноэкранный макет автоматически. См. Руководство по переходу с iOS 7 .

Это немного обманчиво, поскольку отображается так же, как в iOS 6 в Симуляторе (в плане компоновки; т. Е. Не заправлено сзади).

Является ли ваша панель навигации полупрозрачной ? Мой был, и установка его на непрозрачный исправляет это на Iphone iOS 6, iPhone iOS 7 и симуляторе 7.0, строящем с XCode 5. (В моем случае я установил его на полупрозрачный для визуального вида.)

0 голосов
/ 09 октября 2009

Вы можете установить рамку UITableView в явную позицию X, Y, установив свойство frame в представлении. Или вы можете изменить то же свойство, используя конструктор интерфейса, в зависимости от того, добавили ли вы просмотр таблицы через IB или в коде.

например.

myTable.frame = CGRectMake(0.0, myTable.frame.origin.y + NAV_BAR_HEIGHT, myTable.frame.size.width, myTable.frame.size.height);

Это позволит расположить таблицу myTable (которая является указателем на UITableView) ниже панели навигации, вам также может потребоваться соответствующим образом отрегулировать высоту таблицы. Высота навигационной панели, которую я указываю константой, равна 44.0.

Обычно я делаю этот тип настройки вида, если это было необходимо в viewWillAppear ответственного контроллера представления. Это не часто, что вам нужно сделать этот тип настройки, так что это может быть что-то, что вы можете исправить, изменив способ настройки ваших представлений.

Без более подробной информации о том, как настроен ваш вид, трудно быть более конкретным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...