У меня странная ошибка с UISplitViewController
на iOS 13 (она прекрасно работает на iOS 12). Я создал простой проект для воспроизведения этой ошибки.
Это приложение выглядит следующим образом, ничего особенного:
Я подкласс 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
ширина. Если я запускаю этот проект, я получаю такой результат:
- Теперь, если я изменю строку:
maximumPrimaryColumnWidth = max(screenSize.width, screenSize.height)
до
maximumPrimaryColumnWidth = max(screenSize.width - 1, screenSize.height - 1)
Я получаю то, что хочу:
Есть идеи? Спасибо.