Ошибка навигации в iphone SDK

Всем, я столкнулся с проблемой в одном из моих контроллеров представления в моем приложении.

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

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

это выбор главы, перенаправляющий код в выбор книги -

-(void)ButtonClicked:(UIButton *)sender{
    ChapterSelectionView *chapterSelectionView=[[ChapterSelectionView alloc]initWithNibName:@"ChapterSelectionView" bundle:nil];
    chapterSelectionView.selectedIndex=sender.tag;
    appDelegate.selectedBookIndex=sender.tag;
    self.hidesBottomBarWhenPushed=YES;
    chapterSelectionView.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
    [self presentModalViewController:chapterSelectionView animated:YES];
    [UIView commitAnimations];
    [chapterSelectionView release];
}

это перенаправление на код страницы стиха -

-(void)ButtonClicked:(UIButton *)sender{
    VersusSelectionView *versusSelectionView=[[VersusSelectionView alloc]initWithNibName:@"VersusSelectionView" bundle:nil];
    versusSelectionView.selectedChapter=[sender.titleLabel.text intValue];
    appDelegate.selectedChapterIndex=[sender.titleLabel.text intValue];
    self.hidesBottomBarWhenPushed=YES;
    versusSelectionView.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
    [self presentModalViewController:versusSelectionView animated:YES];
    [UIView commitAnimations];
    [versusSelectionView release];
}

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

вернуться к коду выбора книг (не работает) -

  -(IBAction)_clcikbtnchptselction:(id)sender
  {
    UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:[[BookSelectionview alloc] initWithNibName:@"BookSelectionview" bundle:nil]];

    [self presentModalViewController:navigationController               animated:YES];
    [navigationController release];
}

это код для возврата на страницу выбора главы со страницы выбора стиха (не работает) -

-(IBAction)_clcikbtncloseversselctn:(id)sender
{
    UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:[[chapterSelectionview alloc] initWithNibName:@"chapterSelectionview" bundle:nil]];

        [self presentModalViewController:navigationController               animated:YES];
        [navigationController release];

}

Что за ошибка здесь в моем коде, пожалуйста, помогите мне решить эту проблему. Благодарю.

1 ответ

Решение

Я не эксперт, но что я вижу в вашем коде, так это то, что вы каждый раз создаете новый объект UINavigationController. Итак, ваш контроллер навигации имеет только один объект в стеке, так как же будет работать обратный ход? Чтобы использовать навигационный контроллер, вы должны выдвинуть представление главы в UINavigationController, а затем вы можете использовать кнопку "Назад", чтобы выскочить в толкнутое представление.... Ваш поток должен быть таким

Контроллер навигации - initWith 1. BookSelectionview нажмите на 2. ChapterSelectionview нажмите на 3. Выбранную главу

Другие вопросы по тегам