Hallo Leute,
es ist einmal wieder soweit: Apple hat eine (UI-) Änderung mit iOS 16 eingeführt, die zu sehr unangenehmen Effekten der Benutzeroberfläche führen kann - und wieder ist ein Opt-Out statt Opt-In nötig:
Eben habe ich ein kleines Fix in eine App eingebaut, deren letzte Version vor einem Jahr gebaut wurde. Kompiliert ... und ich bin fast umgefallen: Buttons in der NavigationBar wurden in Untermenüs dargestellt (und das auch noch schlecht) und im NavigationBar taucht ein Icon für die Suche auf. Diese blendete dann ein viel zu kleines Suchfeld ein - das Ganze liegt in der MasterView einer "alten" SplitView, die ist eben recht schmal.
UINavigationItem.png
Schuld ist das neue Property preferredSearchBarPlacement des UINavigationItems. So weit, so gut. Nur ich kann absolut nicht verstehen, warum dessen Standardwert nicht - zwecks Backward Compatibility - das alte Verhalten abbildet. Stattdessen muss man das herkömmliche Verhalten explizit per
erzwingen. Klar, nur eine Codezeile, aber ich finde diese Art, neue Features zu pushen, einfach extrem nervig: Nahezu immer, wenn ich nach einiger Zeit Updates veröffentlichen will, muss ich mich mit irgendwelchen UI-Änderungen herumschlagen.
Jaja, mit "agile development" wäre das nicht passiert...
Mattes
es ist einmal wieder soweit: Apple hat eine (UI-) Änderung mit iOS 16 eingeführt, die zu sehr unangenehmen Effekten der Benutzeroberfläche führen kann - und wieder ist ein Opt-Out statt Opt-In nötig:
Eben habe ich ein kleines Fix in eine App eingebaut, deren letzte Version vor einem Jahr gebaut wurde. Kompiliert ... und ich bin fast umgefallen: Buttons in der NavigationBar wurden in Untermenüs dargestellt (und das auch noch schlecht) und im NavigationBar taucht ein Icon für die Suche auf. Diese blendete dann ein viel zu kleines Suchfeld ein - das Ganze liegt in der MasterView einer "alten" SplitView, die ist eben recht schmal.
UINavigationItem.png
Schuld ist das neue Property preferredSearchBarPlacement des UINavigationItems. So weit, so gut. Nur ich kann absolut nicht verstehen, warum dessen Standardwert nicht - zwecks Backward Compatibility - das alte Verhalten abbildet. Stattdessen muss man das herkömmliche Verhalten explizit per
Jaja, mit "agile development" wäre das nicht passiert...

Mattes
Diese Seite bleibt aus technischen Gründen unbedruckt.