2011-12-14 5 views
77

Я вручную Вызов SEGUE (устанавливается как модальный) для того, чтобы отобразить форму входа в Xcode 4.2 с помощью раскадровки с помощью следующей строки кода:вид, отображаемый с помощью модального Segue

[self performSegueWithIdentifier:@"LoginSegue" sender:nil]; 

I Вероятно, что-то не так просто, но я не могу найти способ программно закрыть окно входа и вернуться к предыдущему виду.

Вид является частью контроллера навигационного представления, поэтому установка типа «тик» позволяет мне использовать кнопку «Назад», чтобы отправить меня обратно на предыдущий экран, но в «модальном» режиме я не полностью уверен, как этого достичь (например, после нажатия кнопки)

Любая помощь будет очень признательна.

+0

Xcode является только IDE, плохо редактировать этот –

ответ

172

Если ваша цель развертывания IOS 5.0 или более поздней версии, используйте это сообщение:

[self dismissViewControllerAnimated:YES completion:nil]; 

Или в Swift:

self.dismissViewControllerAnimated(true, completion: nil) 

Если ваша цель развертывания старше, используйте эту (устаревшее) сообщение:

[self dismissModalViewControllerAnimated:YES]; 
+0

Благодаря Роб, я попытался это уже и Безразлично» t, похоже, что-либо делает. У этого есть особые условия? – Nick

+1

Я сделал тривиальный тестовый пример с двумя VC в раскадровке. Начальный VC имеет кнопку «Modal» с модальным отступлением ко второму VC. Второй VC имеет кнопку «Dismiss», подключенную к методу, который выполняет «[self rejectModalViewControllerAnimated: YES]». Он работает так, как ожидалось. Я не знаю никаких особых условий. –

+0

Я просто хочу указать, что я решил эту проблему. Будучи новичком в раскадровки, я не задал тип segue для модального одного экземпляра, так что это была ошибка пользователя! Благодарю. – Nick

4

должно работать нормально ...

[self dismissModalViewControllerAnimated:YES]; 

Я делаю именно это с страницей входа в мой latest tutorial here, без проблем.

+1

Теперь устарел в iOS7: Использовать rejectViewControllerAnimated: завершение: вместо этого. –

13

[self dismissViewControllerAnimated:YES completion:nil]; новый путь в IOS5

3

Следующий код работает в быстром 3:

self.dismiss(animated: true, completion: nil) 
Смежные вопросы