Назад навигация с помощью кнопки просмотра предупреждений - PullRequest
1 голос
/ 09 февраля 2011

У меня возникают некоторые проблемы с обратной навигацией к предыдущему контроллеру представления (в стеке моего навигационного контроллера), когда пользователь нажимает пользовательскую кнопку «назад», которая отображается в виде предупреждения.Я пробовал несколько способов сделать это, но я не смог этого сделать.При нажатии этой кнопки приложение просто возвращается к контроллеру, который выдал предупреждение (как если бы пользователь нажимал кнопку «cancelButton»).Надеюсь, вы можете понять меня с помощью этого примера кода:

В viewDidLoad я выскакиваю предупреждение с:

UIAlertView *alert = [[UIAlertView alloc] 
        initWithTitle:@"XXXXXX"
        message:@"" 
        delegate:self  
        cancelButtonTitle:@"OK"
        otherButtonTitles:@"Back", nil];
    [alert show];
    [alert release];

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

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{ 
if (buttonIndex == 1)
{
    [self.navigationController popViewControllerAnimated:YES];
}}

Весь код выполнен и не имеет ошибок отладки.Если я не объяснил свою проблему должным образом, пожалуйста, скажите мне, и я постараюсь сделать это лучше!(Я испанский и мой английский не самый лучший).Заранее спасибо.


Я постараюсь объяснить это лучше, чтобы показать вам, что мою проблему решить сложнее ...

У меня есть контроллер навигации,это в определенный момент, показывает представление с панелью вкладок.Возможно, вы знаете, что нет способа реализовать контроллер панели вкладок внутри контроллера навигации, поэтому я использовал «пользовательский контроллер», который вставляет эту панель вкладок.

Затем из этого представления с панелью вкладок, (внутри которого я уже добавил несколько подпредставлений) я хочу вернуться назад (нажав кнопку оповещения) к представлению без панели вкладок, которое я предлагаю сделать предыдущим представлением в стеке навигации, как я могу видеть, когда янажмите кнопку "Назад" в навигационной панели ...

Не знаю, стало ли это понятнее, или я вас больше запутал ... Я мог бы попытаться составить вам схему контроллеров, если вы этого хотите,Спасибо за вашу помощь!

Ответы [ 2 ]

0 голосов
/ 21 сентября 2011

для части панели вкладок, я успешно объединил navController с tabController.Контроллер панели вкладок должен находиться в верхней части диаграммы, и вместо контроллера представления для каждого элемента панели вкладок используйте navControllers, особенно в первом элементе панели вкладок;просто скройте панель вкладок в первом viewDidLoad и раскройте ее, когда она вам понадобится.

0 голосов
/ 09 февраля 2011

пробую в отдельной теме.

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{ 
if (buttonIndex == 1)
{
   [self performSelectorInBackground:@selector(newThreadMethod) withObject:nil];
}
}
-(void)newThreadMethod{
     [self performSelectorOnMainThread:@selector(go) withObject:nil waitUntilDone:NO];
 }   
-(void)go{
       [self.navigationController popViewControllerAnimated:YES];
  }

но это неправильный способ.но пока тебе это поможет.

...