Я реализовал SWRevealViewController в моем проекте для пункта меню Side. В основном am приложение является своего рода музыкальным приложением. Песни с главного экрана будут воспроизводиться непрерывно, если пользователь находится на другом экране или в фоновом режиме. Am после этого урока AppCoda (http://www.appcoda.com/ios-programming-sidebar-navigation-menu/)SWRevealViewController Set Front VC Objective-C
- Когда приложение запуска главного экрана будет запущен также начинают играть песню.
- Если пользователь переходит на другой экран, такой как плейлист из бокового пункта меню. Начальный экран находится в стеке, и песня играет отлично. Экран «Плейлисты» находится спереди.
- Снова я иду на главный экран из пункта меню «Вид». Новый экземпляр создается вместо перехода на уже созданный Начальный экран. Теперь am способен слушать две песни одновременно. Один из первого Начального экрана и еще один из нового Начального экрана.
Это происходит для всех экранов. Как я могу решить эту проблему? Я хочу только один экран из стека, а не создавать один и тот же экран во много раз.
Вот мой код из меню Side Tableview Controller,
- (void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.section == 1) {
UINavigationController *navController;
if (indexPath.row == 0) {
ViewController *homeVC = [self.storyboard instantiateViewControllerWithIdentifier:@"ViewController"];
navController = [[UINavigationController alloc] initWithRootViewController:homeVC];
[navController setViewControllers: @[homeVC] animated: YES];
} else if (indexPath.row == 1) {
SongsListViewController *songsListVC = [self.storyboard instantiateViewControllerWithIdentifier:@"SongsListViewController"];
navController = [[UINavigationController alloc] initWithRootViewController:songsListVC];
[navController setViewControllers: @[songsListVC] animated: YES];
} else if (indexPath.row == 2) {
PlayListViewController *songsListVC = [self.storyboard instantiateViewControllerWithIdentifier:@"PlayListViewController"];
navController = [[UINavigationController alloc] initWithRootViewController:songsListVC];
[navController setViewControllers: @[songsListVC] animated: YES];
}
[self.revealViewController setFrontViewController:navController];
[self.revealViewController setFrontViewPosition: FrontViewPositionLeft animated: YES];
}
}
Ждем вашей помощи. Заранее спасибо.
обратитесь по этой ссылке http://www.appcoda.com/ios-programming-sidebar-navigation-menu/ –
Спасибо. Я следовал только этому руководству. Фактически всякий раз, когда мы переходим к другому экрану из Side Menu TableView, новый экземпляр создает вместо использования предыдущего. Таким образом, одинаковые контроллеры просмотра добавляют в Stack много раз. Есть идеи? Я не в состоянии оценить проблему, когда я ошибаюсь. –
Yuvaraj, пожалуйста, см. Ответ Meharoof Najeeb. – user3182143