self.navigationController имеет значение «null» даже после встраивания в навигационный контроллер.

Я хочу добавить navigationcontroller к существующему viewcontroller, созданному с использованием storyboard, я встроил его в навигационный контроллер, но код для навигации (показан ниже) не работает даже после встраивания в навигационный контроллер:

    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
    EditProfileViewController *nextViewController = [storyboard instantiateViewControllerWithIdentifier:@"EPVController"];
    [self.navigationController pushViewController:nextViewController animated:YES];

Когда я попытался зарегистрировать self.navigationController, он показывает null.

Обновление: это нормально, когда я пытаюсь использовать presentViewcontroller, но я хочу нажать viewcontroller с помощью navigationController.

Два дня мучаюсь, помогите.


person Mumthezir VP    schedule 01.08.2015    source источник
comment
вы установили этот идентификатор EPVController в раскадровке?   -  person Dharmesh Dhorajiya    schedule 01.08.2015
comment
@DharmeshDhorajiya: да   -  person Mumthezir VP    schedule 01.08.2015
comment
Что за контроллер self и как его создать?   -  person Phillip Mills    schedule 01.08.2015
comment
@PhillipMills: он создан с помощью раскадровки.   -  person Mumthezir VP    schedule 01.08.2015


Ответы (1)


Если self является подклассом UINavigationController, вам не нужно обращаться к свойству navigationController. (Обратите внимание, что это не будет работать, если EditProfileViewController также является подклассом UINavigationController, поскольку вы не можете поместить UINavigationController внутрь UINavigationController).

EditProfileViewController *nextViewController = [storyboard instantiateViewControllerWithIdentifier:@"EPVController"];
[self pushViewController:nextViewController animated:YES];

В противном случае, если у вас нет ранее существовавшего навигационного контроллера

EditProfileViewController *nextViewController = [storyboard instantiateViewControllerWithIdentifier:@"EPVController"];
[self presentViewController:nextViewController animated:YES completion:nil];
person stu    schedule 01.08.2015
comment
Можно представить viewController, проблема возникает, когда я пытаюсь нажать. и я хочу нажать и поп. - person Mumthezir VP; 01.08.2015