2013-03-18 2 views
0

У меня есть мой главный контроллер, и нажатие кнопки вызывает лист действий. Я хочу, чтобы один из вариантов прослушивался там, чтобы вызвать лист действий. Однако я не могу понять, несмотря на все мои поиски.Как представить модальное представление при выборе опции в UIActionSheet?

У меня есть следующий код:

- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex { 
    NSString *buttonTitle = [actionSheet buttonTitleAtIndex:buttonIndex]; 

    if ([buttonTitle isEqualToString:@"Text"]) { 
     AddTextViewController *addTextViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"addTextViewController"];   
    } 

Теперь, когда я инстанцирован контроллер представления, я не знаю, что делать.

ответ

0

Добавьте эту строку сразу после ее создания.

if ([buttonTitle isEqualToString:@"Text"]) { 
    AddTextViewController *addTextViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"addTextViewController"];   
    [self presentViewController:addTextViewController animated:YES completion:nil]; 
} 

Примечание

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

Раскадровка Метод

Сначала щелкните SEGUE в раскадровки, а затем дать ему идентификатор в информационной панели.

Storyboard Segue Settings

Затем вы можете заменить свой код с этим, и он должен вызвать переход от раскадровки.

if ([buttonTitle isEqualToString:@"Text"]) { 
    [self performSegueWithIdentifier:@"infoSegue" sender:self]; 
} 
+0

Как я мог бы сделать более позднее решение в своем раскадровке? –

+0

И для первого я получаю эту ошибку: 'Нет видимого @interface для 'RootViewController' объявляет селектор 'presentViewController: анимированный:'' –

+0

@DougSmith Это потому, что 'presentViewController: анимированный:' не существует, это фактически 'presentViewController: анимированный: завершение: 'Я редактирую сообщение, чтобы это отразить. –

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