Я создал приложение для раскадровки. На самом деле у меня проблема с переходом. У меня есть один контроллер представления «A», и предполагается, что segue нажимает на контроллер представления «B». В viewController «A» мы ожидаем некоторую информацию о пользователе, и мы выполняем некоторые проверки для этого, и только на основе проверки он должен продвигать новый viewController через переход. Моя проблема в том, что я использовал триггерный переход, и он всегда нажимал контроллер представления «B». Не могли бы вы сообщить мне на основе проверок, как я могу отключить переход.
Проблема перехода UIstroyboard
Ответы (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