Разработка приложения с разными ViewControllers - PullRequest
0 голосов
/ 07 марта 2011

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

Структура моего приложения должна быть следующей:

MainMenu - полноэкранный режим без панели навигации, но с 2 кнопками (button1 и button2)

Страница 1 - должна появляться при нажатии кнопки 1 и иметь навигационную панель вверху с кнопкой «назад» для возврата в главное меню.

Page2 - должен появляться при нажатии кнопки2 без навигационной панели вверху. Страница 2 должна быть UISplitView. Где-то должна быть кнопка возврата.
(я думаю, что именно здесь начинается проблема, UISplitView не может быть представлен модально, не так ли?)

Вы должны иметь возможность добавлять подстраницы на страницу 1.

Так как я могу это сделать? Мне не нужен исполняемый код, а просто подсказка о том, какой должна быть структура моего приложения. Например, куда добавить контроллер навигации, как выглядит MainMenu.

Заранее спасибо!

1 Ответ

0 голосов
/ 07 марта 2011

Вы пытаетесь создать приложение для iPad?

Пользовательский интерфейс вашего приложения выглядит непоследовательно. Первый Просмотр единственного представления без панели навигации.

Вы будете использовать стандартную навигацию для перехода на страницу 1 с домашней страницы. Таким образом, вы будете добавлять контроллер навигации с Home View Controller как Root View COntroller со скрытой панелью навигации.

например.

-(void)applicationDidFinishLaunching:...
{
   HomeViewController * hvc = [[HomeViewController alloc]init];  
   UInavigationController * nvc = [[UINavigationController alloc]initWithRootViewController:hvc];
   nvc.navigationBar.hidden = YES;
   [window addSubView:nvc.view];
}

Затем при нажатии первой кнопки вы будете нажимать Page1 View Controller

-(IBActtion)button1Pressed:(id)sender
{
   Page1ViewCOntroller * p1vc = [[Page1ViewCOntroller alloc]init]; 
   [self.navigationController pushViewCOntroller:p1vc animated:YES];
}

В viewWillAppear: method Page1ViewController разверните панель навигации и скройте ее в viewWillDisappear: method

Ваша страница 2 должна быть splitViewController. Теперь о Split View, Apple говорит

The split view controller’s view should always be installed as the root view of your application window. You should never present a split view inside of a navigation or tab bar interface.

Но поскольку в вышеприведенном утверждении не написано "must", и, поскольку он, наконец, является View Controller в itselt, вы сможете добавить его в окно или другое представление.

Попробуйте создать VIewController с добавленным разделенным VIew, и, подобно странице1, нажмите View на навигационном контроллере.

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