Objective-C & Interface Builder для чайников: как смешивать разные контроллеры и переходить между ними? - PullRequest
0 голосов
/ 29 января 2011

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

Сейчас у меня есть iPadAppDelegate с MainWindow файлом XIB. В MainWindow у меня есть SignInViewController, который соответствует классу и файлу XIB с одинаковыми именами. SignInViewControlelr XIB содержит все текстовые поля и кнопки, необходимые пользователю для входа.

Если пользователь авторизован, я хочу перейти на экран с TabBar, поэтому у меня есть UITabBarController в MainWindow XIB, но я не могу перейти к нему.

В конечном счете, я думаю, что я неправильно понимаю, как работает версия MVC Какао (мои знания MVC ограничены ASP.NET MVC, так как это было в v1 Предварительный просмотр 1 ... И, как я вижу это сейчас, есть большие различия, но я скорее всего очень ошибаюсь, отсюда и недоразумение). Возможно, я использую слишком много контроллеров и слишком мало представлений или просто не размещаю их там, где они должны быть, не говоря уже о написании кода для взаимодействия с ними ...

Буду признателен за объяснение того, как правильно структурировать контроллеры и представления, чтобы получить то, чего я хочу достичь. Приложение, похожее на то, что я хочу сделать, - приложение AT & T myWirelss.

Помощь будет оценена!

P.S. Я буквально учился тому, как создавать приложения для iOS, просматривая видеоролики xvitcoder на YouTube и далее добавляя нужные мне функции, задавая вопросы о том, как добавить нужные мне функции. Видео хорошее (я думаю), но я пытаюсь сделать что-то, что на самом деле им не объясняется (я думаю).

UPDATE

Код, который я в итоге использовал, который работает, хотя я не уверен, что это правильный способ сделать это:

DashboardViewController *dashboardViewController = [[DashboardViewController alloc] initWithNibName:@"DashboardViewController" bundle:nil];
[appDelegate.window insertSubview:dashboardViewController.view aboveSubview:self.view];
[dashboardViewController release];

Ответы [ 2 ]

1 голос
/ 29 января 2011

Вы можете найти Руководство по программированию контроллера информативным. В конечном итоге вы можете иметь производную от UIViewController, которую вы используете для внутреннего управления различными контроллерами представлений / представлений, или вы также можете использовать UINavigationController.

0 голосов
/ 29 января 2011

Действительно хорошую простую модель переключения между большими представлениями предоставляет «служебное приложение» шаблонов iPhone. Он показывает, как контроллер представления может вызывать другой контроллер. Это может дать вам начало.

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