Переключение между различными «дочерними» контроллерами представления с помощью панели инструментов и ее кнопок - PullRequest
0 голосов
/ 21 октября 2011

Есть ли у кого-нибудь какие-либо подсказки для этого сценария.

У пера моего делегата приложения установлен viewcontroller как rootviewcontroller, поэтому он загружает этот контроллер представления при загрузке приложения.

Этот viewcontroller имеетпанель инструментов с различными кнопками.Эти кнопки предназначены для переключения между различными контроллерами представления.

Я пытался использовать addChildViewController, presentViewController, presentModalViewController. Ничто не позволяет мне переключаться между контроллерами представления, НО по-прежнему сохранять панель инструментов видимой.

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

РЕДАКТИРОВАТЬ: я хочу, чтобы кнопка контроллера навигации была видимой даже при нажатии контроллеровт.е., если у меня есть кнопки EDIT и DELETE, я хочу, чтобы те же самые кнопки оставались на панели инструментов, даже когда я помещаю в стек разные контроллеры

Ответы [ 3 ]

0 голосов
/ 21 октября 2011

addSubview: не разрешает использование вторичного контроллера представления, так что это не идеально.

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

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

0 голосов
/ 21 октября 2011

Используйте UITabBarController в качестве корневого контроллера. Он действует как родительский контейнер для ваших дочерних контроллеров представления, обеспечивает панель вкладок и реализует переключение между дочерними представлениями. Проверьте справочник по классам или Руководство по программированию контроллера View

0 голосов
/ 21 октября 2011

Похоже, вы должны использовать панель вкладок.

В качестве альтернативы, вы должны использовать контроллер навигации с панелью инструментов и контроллеры представления push / pop на этом при нажатии кнопок панели инструментов:

Обратите внимание, что панель навигации не должна быть видимой, если вы используете контроллер навигации.

    //create first button
    buttonOne = [[UIBarButtonItem alloc] initWithTitle:@"EDIT" style:UIBarButtonItemStyleBordered target:self action:@selector(editStuff)];
    [buttons addObject:buttonOne];

    //create second button
    buttonTwo = [[UIBarButtonItem alloc] initWithTitle:@"DELETE" style:UIBarButtonItemStyleBordered target:self action:@selector(deleteStuff)];
    [buttons addObject:buttonTwo];


    // Add buttons to toolbar and toolbar to nav bar.
    [buttonsToolbar setItems:buttons animated:NO];
    [buttons release];

    UIBarButtonItem *twoButtons = [[UIBarButtonItem alloc] initWithCustomView:buttonsToolbar];

    self.navigationItem.leftBarButtonItem = twoButtons;
    [twoButtons release];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...