iOS 13 - ошибка изменения размера UISplitViewController - PullRequest
3 голосов
/ 15 октября 2019

У меня странная ошибка с UISplitViewController на iOS 13 (она прекрасно работает на iOS 12). Я создал простой проект для воспроизведения этой ошибки.

  • Это приложение выглядит следующим образом, ничего особенного: enter image description here

  • Я подкласс UISplitViewController, как следует, чтобы изменить размер MasterViewController:

final class SplitViewController: UISplitViewController {
    override public func viewDidLoad() {
        super.viewDidLoad()
        preferredDisplayMode = .allVisible
        delegate = self
        expandMasterView()
    }

    private func expandMasterView() {
        preferredPrimaryColumnWidthFraction = 1
        let screenSize = UIScreen.main.bounds.size
        maximumPrimaryColumnWidth = max(screenSize.width, screenSize.height)
    }
}

extension SplitViewController: UISplitViewControllerDelegate {
    func splitViewController(_ splitViewController: UISplitViewController,
                             collapseSecondary secondaryViewController: UIViewController,
                             onto primaryViewController: UIViewController) -> Bool {
        return true
    }
}

Всякий раз, когда я загружаю SplitViewController, я хочу расширить MasterViewController дополная UIScreen ширина. Если я запускаю этот проект, я получаю такой результат:

enter image description here

  • Теперь, если я изменю строку:
maximumPrimaryColumnWidth = max(screenSize.width, screenSize.height)

до

maximumPrimaryColumnWidth = max(screenSize.width - 1, screenSize.height - 1)

Я получаю то, что хочу:

enter image description here

Есть идеи? Спасибо.

...