herzbube / littlego

Little Go. An iOS application that lets you play the game of Go on the iPhone or iPad.
https://littlego.herzbube.ch/
Apache License 2.0
138 stars 53 forks source link

Redesign view/view controller hierarchy for UITypePhone #348

Closed herzbube closed 2 years ago

herzbube commented 3 years ago

The status quo for UITypePhone is this:

The consequence of this design are non-trivial view controller implementations for MainNavigationController and PlayRootViewControllerPhone. The logical requirements are not that difficult to implement, the main issue is that the view controllers must also be able to fulfill these requirements under different iOS versions. At some point in the past a working solution was achieved with great effort (for iOS 9.3 SDK?), but the upgrade to iOS 14.3 SDK again broke some things (see next comment on this issue) which I have been unable to fix with a sensible amount of effort.

At the moment the most pragmatic solution seems to abandon the current view/view controller hierarchy for UITypePhone and design something entirely new. The assumption is that the current view/view controller hierarchy is somehow unusual enough to break certain expectations built into the iOS layout engine.

herzbube commented 3 years ago

Known bug 1: iPhone 12 Pro Max, iOS 14.3

Expected: The statusbar becomes visible after the new view hierarchy has been set up. Actual: The statusbar is not visible.

Notes:

Known bug 2: iPhone 8 Plus, iOS 11.4

Expected: The statusbar remains visible. Actual: The statusbar becomes hidden.

Notes:

herzbube commented 3 years ago

A redesign should take #296 into account: In the redesigned view controller hierarchy it should be possible to use UISplitViewController instead of the project's own split view controller implementation.

herzbube commented 2 years ago

At the moment the most pragmatic solution seems to abandon the current view/view controller hierarchy for UITypePhone and design something entirely new.

This has been achieved with the unification of all UI layouts (#371). Closing this issue.