Клавиатура не отображается правильно в веб-представлении - альбомный режим - PullRequest
1 голос
/ 07 марта 2019

Я представляю пользовательский веб-вид следующим образом.

let vc = CustomWebViewVC.viewController()
    vc.delegate = self
    present(vc, animated: true, completion: nil)

Я реализовал это, чтобы показать пользовательский веб-вид в альбомном режиме.

override var preferredInterfaceOrientationForPresentation: UIInterfaceOrientation {
    return .landscapeRight
}

//----------------------------------------------------------

override var shouldAutorotate: Bool {
    return false
}

Issue

CustomWebViewVC правильно открывается в альбомном режиме, но , когда я нажимаю на текстовое поле внутри webivew , это происходит.

enter image description here

Я не знаю, в чем проблема.

Есть предложения?

Ответы [ 2 ]

0 голосов
/ 07 марта 2019

Недостающий метод был такой

override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
    return UIInterfaceOrientationMask.landscapeRight
}

После добавления этого в поле зрения контроллер сделал свое дело.

Чтобы открыть viewcontroller в ландшафтном режиме, вам нужно реализовать все три метода, как я.

override var preferredInterfaceOrientationForPresentation: UIInterfaceOrientation {
    return .landscapeRight
}

//----------------------------------------------------------

override var shouldAutorotate: Bool {
  return false
}

override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
    return UIInterfaceOrientationMask.landscapeRight
}
0 голосов
/ 07 марта 2019

Добавьте следующий код в viewDidLoad

Swift 4

let value = UIInterfaceOrientation.landscapeLeft.rawValue
UIDevice.current.setValue(value, forKey: "orientation")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...