В моей раскадровке у меня есть NavViewController, который устанавливает корневой режим ViewController1. Затем ViewController1 имеет push-сег для ViewController2 с идентификатором «socialSeg». ViewController1 имеет UIImageView, который я использую для загрузки видеокамеры. После того, как пользователь запишет видео и выберет «Использовать», я хочу загрузить следующий контроллер представления. В ViewController1.m у меня есть следующее:performSegueWithIdentifier срабатывает, но не загружает следующий вид
- (void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info
{
NSLog(@"Performing Segue with ID");
[self performSegueWithIdentifier:@"socialSeg" sender:self];
}
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
NSLog(@"Prepping");
}
Оба NSLogs работают, но ничего не происходит на моем экране. Я не вижу ViewController2, и никаких сообщений об ошибках не появляется. Правильно ли я делаю это?
Связанный вопрос: Должен ли я запускать performSegueWithIdentifier на себя (текущий ViewController), или они должны запускаться на self.navigationController?
Редактировать: Я попытался несколько сократить свой вопрос, чтобы сохранить пост короче, я понял, что вам может понадобиться больше контекста.
Адрес: full storyboard. В основном «Video View Controller» будет ViewController1, а «Social View Controller» - ViewController2. Когда я нажимаю кнопку «Root View Controller» (запись видео), этот сеанс отлично работает, и поэтому я его оставил. Есть ли вероятность, что «Root View Controller» может отбросить вещи?
Вы уверены, что переход подключен правильно и назван? Попробуйте, если он работает, когда вы запускаете его через событие пользовательского интерфейса, например. нажатие кнопки. – Matthias
Я отредактировал мой вопрос, чтобы включить снимок экрана моей раскадровки. Я на 99% уверен, что все подключено и правильно названо (новичок в ios dev). Я попытался подключить кнопку к ViewController2 вместо того, чтобы запускать ее из 'didFinishPickingMediaWithInfo', и это сработало нормально. –