Условно после segue
В моем приложении у меня есть экран входа. Однако при подключении segue от кнопки входа в систему к следующему (настольному) контроллеру просмотра вы всегда можете продолжить, независимо от того, что вы вводите в качестве информации для входа. Как проверить регистрационную информацию, а затем решить, следует ли выполнять сеанс или нет, и как выполнить сеанс условно?
Можно ли добиться этого, работая с segue? Я знаю, что это может быть сделано программно, но тогда мне нужен другой контроллер навигации, потому что мне нужна панель навигации.
Ответы
Ответ 1
Вы можете подключить свою кнопку входа или что-то еще к некоторому коду IBAction, решить, должен ли логин действовать, а затем (если нужно) вы можете использовать performSegueWithIdentifier:
для перехода к новому представлению.
Я написал еще одно сообщение об использовании этого метода здесь.
Ответ 2
В iOS 6 метод UIViewController shouldPerformSegueWithIdentifier:sender:
решает эту проблему без ручного запуска.
Ответ 3
- Создайте ручную секцию из "login", чтобы сказать "панель мониторинга"
- Дайте имя для идентификатора segue, например. "ShowDashboard"
- Подключите кнопку "Далее" для IBAction.
- Вручную вызовите segue с идентификатором после выполнения всех ограничений.
- (IBAction)nextButtonPressed:(id)sender
{
if ([self hasAllRequiredFields]) {
[self performSegueWithIdentifier:@"showDashboard" sender:self];
}
}
Ответ 4
Это запоздало, но лучше всего установить setEnabled: ничто не вызывает срабатывание до тех пор, пока segue не будет "действительным". Это отделяет вашу логику segue от логики вашего представления....