2017-01-12 3 views
0

У меня есть распознаватель жестов пользовательского интерфейса, подключенный к моему быстрому файлу, и этот код появится на предыдущем контроллере. Однако мне не повезло. что мне не хватает?проведите пальцем по экрану, чтобы не переходить к предыдущему контроллеру - что мне не хватает?

@IBAction func leftswipe(_ sender: Any) { 
    [navigationController?.popViewController(animated: true)] 
} 

ответ

0

Вам нужно вставлять первый ViewController в UINavigationController и использовать "Показать" или "Show Detail" segue`s типа.

+0

Так что я не могу использовать салфетки для навигации без навигационного контроллера? –

+0

Привет. Если вы не используете UINavigationController. Затем вы используете тип «Present Modally» segue. И для возврата вам нужно использовать [self rejectViewControllerAnimated: YES complete: nil]; в функции левого канала –

0

Попробуйте распечатать navigationController, это должно быть ноль. Вы уверены, что первый контроллер viewController встроен в контроллер навигации, и этот диспетчер просмотра находится в стеке контроллера навигации? Также я заметил [] скобки в вашем коде. Не используйте это в Swift.

+0

Спасибо за примечание []. Ваш комментарий поднимает другой вопрос, нужен ли мне ранее существующий навигационный контроллер в моем проекте для того, чтобы жест жестов работал? –

+1

Да. Если вы пытаетесь выскочить из текущего диспетчера view, это означает, что вы пытаетесь вернуться к предыдущему контроллеру представления - это значит, что он уже находится в стеке навигации. Поэтому я предполагаю, что у вас нет контроллера навигации в вашем раскадровке или в вашем коде. Дайте мне знать, если это ответит на ваш вопрос. – ebby94