2014-01-18 4 views
0

Тогда я называю этот метод, я хочу иметь segue. Это правильно?Как правильно использовать segue здесь?

- (void)showMapViewController { 

     [self performSegueWithIdentifier:@"MapViewController" sender:self]; 
} 

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    if ([segue.identifier isEqualToString:@"MapViewController"]) 
    { 
     UINavigationController *navigationController = segue.sourceViewController; 
     LoginViewController *loginViewController = [[navigationController viewControllers] objectAtIndex:0]; 
     [loginViewController performSegueWithIdentifier:@"MapViewController" sender:self]; 
    } 
} 
+2

Я действительно не понимаю, что вы пытаетесь сделать, но это неправильно! У вас даже есть segue, определенный с идентификатором «MapViewController»? Я думаю, что вы пытаетесь сделать нажатие VC на контроллер навигации, это правда? –

+0

Вы должны дать больше контекста, так как я не понимаю отношения между вашим 'addplayer'-segue и вашим mapviewcontroller segue –

+0

извините за' add player ', это - MapViewController. Я хочу вызвать метод showMapViewController и нажать VC – user3196922

ответ

0

Вы должны создать segue в раскадровке и дать уникальный идентификатор. Он может выполняться автоматически, если вы установите это на какое-либо действие кнопки, например. если вы создаете действие кнопки segue on button, вы хотите нажать навигационный контроллер. Когда эта кнопка будет нажата, будет выполняться автоматическая пауза. В этом случае, если вы хотите сделать некоторое пользовательское кодирование, чтобы установить некоторые свойства и т.д., то вы должны реализовать этот метод делегата

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    if ([segue.identifier isEqualToString:@"segueIdentifier"]) 
    { 
    // Here you can get source and destination view controllers and can perform some custom tasks. 
    } 
} 

Вы также можете выполнить переход с помощью кода, если вы хотите, для этого вы должны назвать это метод.

[self performSegueWithIdentifier:@"segueidentifer" sender:self]; 

Для этого нужно создать SEGUE в раскадровке по ЦПТ + перетащить с одного контроллера вида в другой (источник -> назначения) и дать идентификатор.

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