Подтвердить что ты не робот

Верхнее поле на UITableViewController

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

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

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

4b9b3361

Ответ 1

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

   - (void)viewDidLoad {
       UIEdgeInsets inset = UIEdgeInsetsMake(20, 0, 0, 0);
       self.tableView.contentInset = inset;
   }

Ответ 2

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

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

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

Ответ 3

Вы можете установить кадр UITableView в явную позицию X, Y, установив свойство кадра в представлении. Или вы можете изменить одно и то же свойство с помощью конструктора интерфейса в зависимости от того, добавили ли вы табличное представление через 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 диспетчера представлений. Это не так, что вам нужно будет сделать этот тип настройки, чтобы можно было что-то исправить, изменив способ настройки ваших просмотров.

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