Проблема перехода UIstroyboard

Я создал приложение для раскадровки. На самом деле у меня проблема с переходом. У меня есть один контроллер представления «A», и предполагается, что segue нажимает на контроллер представления «B». В viewController «A» мы ожидаем некоторую информацию о пользователе, и мы выполняем некоторые проверки для этого, и только на основе проверки он должен продвигать новый viewController через переход. Моя проблема в том, что я использовал триггерный переход, и он всегда нажимал контроллер представления «B». Не могли бы вы сообщить мне на основе проверок, как я могу отключить переход.


person user917256    schedule 11.11.2013    source источник


Ответы (1)


Подключите кнопку из сцены А. Не из элемента пользовательского интерфейса в сцене А, а из базового вида сцены А.

Теперь, в контроллере представления сцены А, если у вас есть кнопка, которая должна проверяться, просто используйте if или что-то в этом роде. Если вся информация в порядке, звоните в segue, если нет, не звоните в segue.

Вызовите переход следующим образом:

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

Где @"MySegue" заменяется именем, которое вы дали своему переходу в раскадровке.


Например:

- (IBAction) myButtonPress:(id)sender {
    //validate the info
    if(valid) {
        [self performSegueWithIdentifier: @"MySegue" sender: self];
    } else {
        //probably prompt the user that their info is invalid
        //maybe clear textboxes, etc.
    }
}

Ключ здесь, правда, прикрепляет переход от viewController, а не от самой кнопки. Вы также должны быть уверены, что назвали свой переход, и убедитесь, что имя в раскадровке совпадает с именем в коде. XCode не поможет вам автозаполнить его.

person nhgrif    schedule 11.11.2013