WWDC 2023: What’s new in UIKit
Find hereafter a detailed summary of a video that belongs to a taxonomy of some WWDC footages.
The original video is available on the Apple official website (session 10055).
"Explore enhancements and updates to UIKit and learn how to build better iOS, iPadOS, and Mac Catalyst apps. We'll show you the latest features and improvements in UIKit and share API refinements, performance improvements, and much more."
Hereafter, the underlined elements lead directly to the playback of the WWDC video at the appropriate moment.
Key features #
Xcode previews #
A dedicated Swift
macro empowers the Xcode
previews for rendering as well a view controller as a single view.
View controller lifecycle #
A new view controller callback appears with iOS 17
...
... and is only called once during the appearance transition.
Trait system #
Animated symbol images #
Empty states #
iOS 17
has introduced a new content configuration for a content-unavailable view.
A new method has been introduced for updating the view controller's content unavailable configuration.
Internationalization #
Many improvements have been made for internationalization in iOS 17
.
A new iOS 17
feature called dynamic line-height adjustment ensures optimal text readibility in many languages by preventing potential collisions or clipping situations.
To tailor both line-height and hyphenation rules for a specific language, a new typesettingLanguage property has been defined.
iPadOS #
iOS 17
brings new inks with PencilKit
whose backward compatibility must be taken into account to ensure the best possible user experience.
General enhancements #
Regarding the self-sizing items, there's a new feature in Compositional Layout
that's relied on a size based on the the largest item's.
A new method for UIView
has been defined for implementing the spring animations including two optional parameters.
The contrast of the status bar is maintained thanks to the continuous adjustement of its style between dark and light modes.
In iOS 17
, ISO HDR images are supported by UIKit
with the aim of being used by UIImageView
and potentially customized by UIGraphicsImageRenderer
.