- Significant optimizations to reduce view redrawing
- Modern PopupItem was extended to include leading and trailing buttons variants (in addition to the previous APIs)
- Introduces a new
onPopupBarGeometryChange()modifier for monitoring changes to popup bar geometry and, for example, updating the buttons or text depending on interface idiom or effect bar size.
This is a very big release, with many improvements.
- Many layout improvements to the popup bar and how it handles the countless variations of bar buttons
- Fixes to complex RTL layouts
- Catalyst and iPad are now much better supported, with layouts that were previously not possible
- The leading and trailing APIs have been undeprecated and it is now possible to place leading and trailing buttons on any bar style
- The
LNPopupItem.barButtonItemswill continue to place items at the trailing edge; however, if you were relying on the previous behaviur, whereLNPopupItem.leadingBarButtonItemswould be placed in the trailing items on floating bars, this is no longer the case
- If too many buttons are placed in a bar item and there is no space for the image and/or titles, the popup bar will hide elements to make space available for buttons
- This is especially important in freely resizeable environments, such as iPads, Mac windows and … future iPhone devices
- Set your popup bar content and buttons depending on available space in your scene
- Escape key now closes the popup in most scene environments
- Some more complex scenes cannot be supported since the popup might be opened in a controller that is not in the responder chain
- In these cases, route the key presses yourself
- Catalyst now has first-class support
- New functionality has been introduced to better support split view controllers on large devices
- In supported
NavigationSplitViewconfigurations, the system will attempt to avoid the primary split and move the popup bar out of the way. This is to better supprot environments where a popup is presented over theNavigationSplitView- The popup will continue to open over the entire split view controller’s bounds
- Only
.navigationSplitViewStyle(.balanced)is currently supported - In unsupported configurations, behavior remains as before
- The system will now open the popup over the entire split view, rather than only within the specific section that has presented the popup.
- The popup bar will remain within the containing view controller’s bounds
- The new functionality can result in a similar looking behavior from the user’s standpoint, but offer different benefits and tradeoffs; consider first presenting your popup over the
NavigationSplitView
- In supported

