В моем приложении я использую контроллер навигации, чтобы нажимать одно представление, которое загружает контроллер панели вкладок и настраиваемую панель навигации. Проблема в том, что панель вкладок исчезает под нижней частью экрана, и я не знаю, что вызывает проблему.Панель вкладок исчезает внизу внизу экрана
Если я загружаю простую панель вкладок в следующем представлении, она правильно позиционируется ... но мне нужен контроллер панели вкладок, и в этом случае панель вкладок исчезает внизу. Я попытался изменить свойства вида и размера панели вкладок, но это не решило проблему.
Я также понял, что изображения и текст вкладок не отображаются (я установил изображения и текст «избранное» и «контакты», и они достаточно большие и должны быть видны на верхней стороне вкладку, но это не так).
Обе вкладки отлично работают, кстати.
Существует image here.
я загружаю Tab Bar со следующим кодом:
- (void)viewDidLoad {
[super viewDidLoad];
myTabBarController = [[UITabBarController alloc] init];
SettingsViewController* tab1 = [[SettingsViewController alloc] init];
AboutViewController* tab2 = [[AboutViewController alloc] init];
NSArray* controllers = [NSArray arrayWithObjects:tab1, tab2, nil];
myTabBarController.viewControllers = controllers;
[self.view insertSubview:myTabBarController.view belowSubview:myNavigationBar];
}
Это не имеет значения, если я удалить панель навигации или нет. Я испробовал это вместо этого:
[self.view addSubview:myTabBarController.view];
... забыв о панели навигации, но панель вкладок все еще идет под низу.
Я не знаю, является ли проблема в одном из моих файлов NIB или в том, как я загружаю представление (хотя я это делаю, когда читаю в документации SDK от Apple). Есть идеи?
Другой вопрос: знаете ли вы, как я могу изменить заголовок своей панели навигации, когда я выбираю вторую вкладку? Я предполагаю, что мне придется делать это в viewDidLoad в AboutViewController.m, это было бы правильно?
Спасибо вам за внимание!
Привет, Джефф, спасибо за ответ! Я создал такую структуру, потому что представление, в котором у меня есть контроллер панели вкладок, выталкивается из корневого представления контроллера навигации ... поэтому я нажимаю вид (второе представление в стеке навигации), а затем добавляю панель вкладок Контроллер к нему. Это неправильно? Я не мог найти другого способа нажать второй вид (где у меня есть контроллер панели вкладок). Все работает отлично с этими настройками, единственная проблема заключается в том, что панель вкладок находится ниже нижней части экрана. – Manu
Извините, что задал два вопроса одновременно, больше не повторится. Во всяком случае, в моем втором вопросе, что я хочу изменить, это название моей панели навигации, когда я переключаюсь на вторую вкладку (эта панель навигации НЕ является навигационной панелью навигационного контроллера, но другая панель навигации, которую я создал отдельно, и которая накладывается на (поэтому изменить название представления недостаточно ... Мне, вероятно, придется изменить заголовок самой панели, но панель объявлена на предыдущем представлении). – Manu
Для панели вкладок: можете ли вы попробовать использовать его свойство 'frame', чтобы разместить его? Вы должны иметь возможность разместить его там, где захотите. Для панели навигации: вам нужно будет хранить указатель на ней где-нибудь - возможно, определите ivar в вашем втором контроллере представления. Это все очень нестандартные вещи. Я не знаю, какова ваша конечная цель, но вы можете найти более полезные вещи в Руководстве по программированию View Controller: http: //developer.apple.com/iphone/library/featuredarticles/ViewControllerPGforiPhoneOS/Introduction/Introduction.html –