Создание и удаление UIViews программно - PullRequest
1 голос
/ 03 января 2012

Я учусь, как управлять представлениями программно, мне удается отобразить новое представление в моем appDelegate со следующим блоком кода:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

UINavigationController *navController = [[UINavigationController alloc] init];
loginController = [[LoginController alloc] init];
[navController pushViewController:loginController animated:NO];
[self.window addSubview:navController.view];
[self.window makeKeyAndVisible];

return YES; }

Я добавил кнопку в этом представлении, которая удалитэтот текущий вид и предположительно программно отображают новый вид, однако мне удалось только удалить вид и не отображать новый вид.

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

HomeController *homeView = [[HomeController alloc] init];
        [self.window addSubview:homeView.view];
        [homeView.view release];

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

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

1 Ответ

2 голосов
/ 03 января 2012

Вы на правильном пути, используя UINavigationController.На самом деле, вы почти у цели.

У вас уже есть два контроллера представления - один для страницы входа и один для домашней страницы.В didFinishLaunchingWithOptions: поместите оба контроллера в стек UINavigationController: сначала «домашний» контроллер, затем «вход в систему».Как только контроллер входа обнаружит, что вход выполнен успешно, позвоните popViewControllerAnimated: или popToRootViewControllerAnimated:, чтобы перейти на домашнюю страницу.

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