2015-02-17 5 views
0

У меня есть UINavigationController, который указывает на UITableViewController (список элементов), где есть выделение из ячейки в другую UITableViewController (экран для редактирования элемента).Перейти ко второму диспетчеру просмотра в NavigationViewController

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

Проблема в том, что мне нужно передать первый UITableViewController, так как мне нужно иметь возможность вернуться к этому (или есть способ установить контроллер, на который обратная кнопка указывает?).

Вещи, которые я пробовал и не удалось:

  • Установите логическое shouldPresentNewItem на UINavigationController и в viewDidLoad, если он установлен в true, представит первый UITableViewController, также устанавливая логическое значение, так что я могу пойти на экран редактирования.

  • Использование self.navigationController!.popToViewController(arr[index] as UIViewController, animated: true) в UINavigationController с viewDidLoad. Это дало ошибку, поскольку self.navigationController был nil. (Я не понимаю, почему это происходит)

Как это можно сделать?

ответ

1

В навигационном контроллере установлен какое-то логическое значение, указывающее, что вы собираетесь показывать экран редактирования и viewDidLoad просто нажмите редактировать контроллер представления без анимации:

- (void) viewDidLoad { 
    [super viewDidLoad]; 
    if (self.presentEditScreen) { 
     self.presentEditScreen = NO; 
     EditViewController *e = [[DetailViewController alloc] init]; 
     [self pushViewController:e animated:NO]; 
    } 
} 
+0

Да, это сработало! Еще некоторые проблемы с моим боковым меню, но ничего не могу сработать, я думаю :) – vrwim

0

простой способ будет. просто нажмите со второй целью первого взгляда

firstViewController *objFirstViewController = [[firstViewController alloc]initWithNibName:@"firstViewController" bundle:nil]; 
    [self.navigationController pushViewController:objFirstViewController animated:No]; 
+0

Так вы «Я говорю, что я должен встроить экран редактирования в' UINavigationController', а в viewDidLoad нажать listview в стеке? – vrwim

+0

Да, вы должны нажать на первый ViewController ... вы не можете вернуться, потому что в viewController нет представления. поэтому вы не можете popToViewController. – Nitin

+0

Ох, прямо, это стек. Да, не подумал об этом :) Я попробую и расскажу вам через секунду. – vrwim

Смежные вопросы