Изменение размера представления viewControllers, являющегося частью UINavigationController на IPhone - PullRequest
3 голосов
/ 19 августа 2009

Я использую UINavigationController для обработки нажатия и всплытия viewControllers в моем приложении. Есть раздел, где у меня есть панель вкладок (не использующая UITabbarController), которая управляется тем же UINavigationController, я просто добавляю UITabBar в представление контроллеров навигации (используя addSubview).

Проблема: У меня есть некоторые UIViewControllers с табличными представлениями, помещаемыми в стек навигации, так как моя панель вкладок является частью представления, а не стека навигации. Табличные представления обрезаются снизу, потому что контроллер навигации не знает о панели вкладок, потому что он находится в его вид и нет стека навигации. Без контроллера навигации я бы просто изменил размер представления ViewControllers, и он бы работал нормально, но когда я пытаюсь это сделать, кажется, что NavigationCOntroller просто игнорирует мой фрейм и устанавливает свой собственный, и, следовательно, табличные представления обрезаются. Я нашел одно решение, которое состояло в том, чтобы добавить несколько дополнительных ячеек и спрятать их, и это работает нормально, но это своего рода хакерство, у кого-нибудь есть какие-либо предложения о том, как это сделать другим нехакерским способом?

Спасибо

Ответы [ 2 ]

1 голос
/ 20 августа 2009

Хорошо, поэтому я решил проблему. Ранее я пытался изменить размер UITableView вместо viewController, но это не сработало. Я только что понял, что это не сработало, потому что я использовал UITableViewController, который управляет своим собственным tableView и не позволяет мне изменить его фрейм (возможно, я менял его в неправильном месте, попробовал в viewDidLoad, держу пари, если я сделал это после вызова [super viewDidload] это сработало бы .. ну хорошо). Поэтому я изменил класс на UIViewController и управлял там табличным представлением, теперь он работает хорошо, спасибо за ответы.

0 голосов
/ 19 августа 2009

Попробуйте сделать корневой вид UIView с UITableView для подпредставления. Затем добавьте UITabBar в экземпляр UIView. Теперь UITableView не будет знать о UINavigationController.

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