Переключайтесь между представлениями с помощью UINavigationBar - PullRequest
1 голос
/ 08 марта 2011

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

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

Как я могу заставить это случиться? Я не могу на всю жизнь понять это. Есть ли где-нибудь учебник, который выходит за рамки этого? Я не могу найти один.

Ответы [ 2 ]

3 голосов
/ 08 марта 2011

Вы должны создать UINavigationController с UIViewController в качестве корня. в UIViewController вы должны установить панель правой кнопкой. у вас должно быть что-то похожее на это:

self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] 
                        initWithTitle: @"Next"
                        style:UIBarButtonItemStyleDone 
                        target:self 
                        action:@selector(nextPage:)] 
                        autorelease];

при нажатии на кнопку будет вызван метод nextPage:, который выполнит нажатие нового представления.

-(void)nextPage:(id)sender
{
   UIViewController *secondViewController = [[UIViewController alloc] init];
   [self.navigationController pushViewController:secondViewController animated:YES];
   [secondViewController release];
}

вот учебник из двух частей по использованию UINavigationController и здесь - это официальная документация для UINavigationController (действительно полезная).

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

Для действия кнопки (селектор) используйте следующее сообщение для self.navigationController

 pushViewController:secondViewController animated:YES

EDIT: создайте UINavigationController следующим образом:

UINavigationController* navController = [[UINavigationController alloc] initWithRootViewController:rootViewController];

и затем установите правокнопка, как это требуется Сорин в своем ответе.И используйте pushViewController: animated: message на self.navigationController, как я уже писал в своем первоначальном ответе.Надеюсь, поможет.rootViewController - это контроллер представления, который вы хотите выдвинуть в качестве первого представления в стеке навигации.

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