Новый UIView не загружается - PullRequest
1 голос
/ 15 марта 2011

У меня есть настройка TabController View, и я пытаюсь загрузить новый вид в текущей вкладке.Это представление будет загружено в зависимости от выбора из UIAlertView.

Таким образом, у меня есть этот код, пытающийся сделать это:

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex{

    // Yes Button
    if (buttonIndex == 0) {

        NSLog(@"%@ Pressed", [alertView buttonTitleAtIndex:0]);

        user = [[UserInfo alloc] initWithNibName:@"UserInfo"  bundle:nil];
        [self.navigationController pushViewController:user animated:YES];

        [user release];
    }
    // Don't show again Button
    if (buttonIndex == 1) { 
        NSLog(@"%@ Pressed", [alertView buttonTitleAtIndex:1]);
    }

    // No Button
    if (buttonIndex == 2) {
        NSLog(@"%@ Pressed", [alertView buttonTitleAtIndex:2]);
    }
}

Блок Да выводится на консоль, однаконовый вид не загружается.Пользователь - это экземпляр UserInfo, который, в свою очередь, является подклассом UIViewController.Nib UserInfo создан и является частью проекта.

Что мне не хватает?

Ответы [ 2 ]

1 голос
/ 15 марта 2011

Эти две строки не нужны:

[user.view setHidden:NO];
[self.navigationController setView:user.view];

Но вот этот:

[user release];

Как вы настраиваете контроллер панели вкладок? Поместили ли вы это представление в UINavigationController, а затем добавили этот контроллер навигации в TabBarController?

Пожалуйста, просмотрите Руководство по программированию View Controller для iOS (в частности, раздел «Комбинированные интерфейсы ViewController») и убедитесь, что вы правильно вложили эти представления.

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

Является ли пользователь глобальной переменной? Я обычно вижу что-то вроде
UserInfo * user = [[UserInfo alloc] initWithNibName: @ "UserInfo" bundle: nil];

как шаблон. Так как навигационный контроллер действительно будет основным владельцем представления

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