Ошибка навигации в 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. Выбранную главу