PushViewController ничего не делает - PullRequest
       4

PushViewController ничего не делает

1 голос
/ 28 февраля 2012

Это первый раз, когда я пытаюсь осуществить переход от ячейки tableView к другой tableView с помощью UINavigationController, и у меня это не работает.Я не использую nib-файл, и у меня есть простой tableView, который я представляю в модальном диалоговом окне в моем приложении, он работает нормально, теперь я добавил disclosureInidcator в одну из его ячеек, чтобы пользователь мог выбирать из фиксированногоколичество опций, доступных из другого списка (tableView).Для этой цели у меня есть другой класс, который делает второй tableView.проблема теперь в том, что навигация от ячейки (содержит значок раскрытия) в первом табличном представлении ко второму табличному представлению ничего не делает, ни ошибки, ни ничего.Я предполагаю, что способ установки контроллера навигации был бы неправильным, код вообще не попадает в делегат или источник данных второго класса.

в First TableView в методе: didSelectRowAtIndexPath Я пытался поймать эту строкузатем вызовите второй tableView следующим образом:

 mySecondViewController *secondVC = [[[mySecondViewController alloc] initWithStyle:UITableViewStyleGrouped ]    autorelease];
  UINavigationController *navCont = [[UINavigationController alloc] initWithRootViewController: self];//not sure the first controller should act as the root controller?
 [navCont  pushViewController:secondVC animated:YES]; //it does nothing, no error,...

второй класс tableViewcontroller содержит все методы делегата и источника данных, а также метод инициализации:

 - (id)initWithStyle:(UITableViewStyle)style 
 {
     if ((self = [super initWithStyle:style])) {

    }
    return self;
 }

  and declared in interface as:
 @interface stockOptionViewController : UITableViewController {

}

Я пытался играть с viewDidLoad, ноне помогло.

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

Спасибо, Кам

Ответы [ 3 ]

5 голосов
/ 28 февраля 2012

Ваш контроллер навигации должен быть корневым контроллером представления окна делегата приложения, а первый контроллер представления должен быть корневым контроллером представления контроллера навигации, тогда вы можете вставить в него новые контроллеры.

См. Документацию для UINavigationControlle r.

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

0 голосов
/ 28 февраля 2012

Вы можете представить управление видом модально без контроллера Nav

mySecondViewController *secondVC = [[[mySecondViewController alloc] initWithStyle:UITableViewStyleGrouped ]    autorelease];
[self presentModalViewController:secondVC animated:YES];
0 голосов
/ 28 февраля 2012

UINavigationController должен быть корневым контроллером представления.В текущем коде navCont отсутствует в стеке представления, поэтому он не будет работать.Вместо нажатия myFirstViewController в appDelegate, поместите UINavigationController в стек и добавьте myFirstViewController в качестве корневого контроллера представления.

...