Мой корневой контроллер - это TabBarController (приложение с вкладками). Один из вкладок - UITableViewController. Когда я переключаюсь на это и просматриваю элементы, они отображаются в строке состояния вверху (сигнал, батарея и т.д.). Я не хочу этого. Я хочу, чтобы это было непрозрачно или... что-то. Он визуально сотрясается с текстом ячеек таблицы, перекрывающих содержимое состояния.
Можно ли исправить это из моей раскадровки с некоторыми настройками атрибутов, которые я не понимаю? Или мне нужно добавить некоторые методы в мои подклассы? Или, может быть, мне нужно связать мой UITableViewController с каким-то другим контроллером?
Я пробовал множество вариантов настроек ViewController Layout и Extend Edges на странице атрибутов Storyboard, но ни один из них, похоже, не изменил его к лучшему.
Обновить. Я думаю, что моя проблема очень похожа на iOS 7: UITableView отображается в строке состояния. Единственное отличие состоит в том, что я встроен в TabBarController, и этот случай является корневым представлением. Я попробовал решение, указанное там вложения в NavigationController
и установив Show Navigation Bar
в False
, но это не имело никакого значения.
Экранные снимки:
Моя раскадровка (сокращение), показывающая контроллер с вкладками, с двумя детьми, один вид и другой вид таблицы.
Настройки для контроллера панели вкладок
Настройки для контроллера табличного представления
Как выглядит приложение на моем телефоне
Как закончилась история
Несмотря на множество ответов ниже, никто из них не работал. Какой-то немного, но не совсем. Я также пробовал использовать Embed в NavigationController, и это также имело проблемы. Что все-таки работало, было следующее:
- Добавить UIViewController
- Установить отношение дочернего контроллера к нему и контроллеру панели вкладок (как и другие два, которые у меня уже были)
- Добавить TableView (не контроллер) в новый UIViewController, по желанию, он будет привязан к нижней строке строки состояния.
- Установите TableView
delegate
иtableSource
в качестве нового контроллера - Создайте пользовательский подкласс UIViewController и обновите тип класса контроллера в раскадровке
- Скопируйте связанные с таблицей методы из моего пользовательского подкласса UITableViewController в мой новый подкласс
- Выберите ячейку таблицы прототипов из оригинала и команду + перетащите ее в новое представление таблицы.
- С радостью удалите исходный TableViewController (и wrapper navigationController) тоже
- Обновите элемент панели вкладок, чтобы соответствовать предыдущему
- Отбросьте еще один вариант для "вы пытаетесь усердно"