Как отклонить подробный вид при использовании разделенного вида - PullRequest
0 голосов
/ 07 апреля 2019

Я хочу отклонить представление моего DetailViewController при нажатии кнопки отмены.

Когда у меня просто есть два контроллера представления, скажем, Master и Detail, я могу отклонить представление детали следующим образом:

@IBAction func pressedCancel(_ sender: UIBarButtonItem) {

    // Dismiss the view
    if let owningNavigationController = navigationController {   
        owningNavigationController.popViewController(animated: true)
    }
}

Это не работает при использовании контроллера с разделенным видом, который имеет детализацию и главный вид под ним.Например, в портретной ориентации на iPhone я просто хочу, чтобы при просмотре кнопки отмены детальный вид был отклонен.

Как я могу это сделать?

1 Ответ

0 голосов
/ 07 апреля 2019

Когда вы добавляете UINavigationController к детализации UISplitViewController, используя showDetailViewController в контексте .compact горизонтального класса размера. Он нажимает UINavigationController на UINavigationController мастера, поэтому, когда вы хотите отклонить детали UINavigationController, вам нужно отправить сообщение мастеру UINavigationController. Должно работать что-то вроде следующего.

@IBAction func pressedCancel(_ sender: UIBarButtonItem) {
    let navC = navigationController?.navigationController
    navC?.popViewController(animated: true)
}

Здесь мы проверяем, имеет ли навигационный контроллер навигационный контроллер, и просим его открыть его самый верхний контроллер вида.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...