v4.1.1
- Added
LNPopupBar.inlineAppearance
andLNPopupItem.inlineAppearance
- If provided, the popup will switch appearances as it transitions from inline to regular
- By default, these properties are
nil
and the standard appearance is used
- iOS 26.1 improvements (ongoing)
-
setItems(_:animated:)
will now better animate popup bar item change - Numerous layout fixes and improvements
4.7.2
- Improved video editing experience:
- Added a shadow area mask for a clearer view of the currently selected video clip.
- Added a feature to display the duration of the currently selected clip.
- The ZLImagePreviewController interface supports disabling the pull-down return gesture.
- Change the permission of ZLPhotoPreviewSheet to private.
- Fixed a bug where the UI of the thumbnail interface might display an error when the permission is "limited".
4.7.2
- Improved video editing experience:
- Added a shadow area mask for a clearer view of the currently selected video clip.
- Added a feature to display the duration of the currently selected clip.
- The ZLImagePreviewController interface supports disabling the pull-down return gesture.
- Change the permission of ZLPhotoPreviewSheet to private.
- Fixed a bug where the UI of the thumbnail interface might display an error when the permission is "limited".
4.7.1
- Improved video editing experience:
- Added a shadow area mask for a clearer view of the currently selected video clip.
- Added a feature to display the duration of the currently selected clip.
- The ZLImagePreviewController interface supports disabling the pull-down return gesture.
- Fixed a bug where the UI of the thumbnail interface might display an error when the permission is "limited".
v4.1.0
Introducing popup bar minimization support!
To enable, set the minimization mode of the tab bar controller:
self.tabBarController?.tabBarMinimizeBehavior = .onScrollDown
To listen to bar environment changes in your popup content controller and update the popup item accordingly, register for the LNPopupBar.EnvironmentTrait
trait changes:
registerForTraitChanges([LNPopupBar.EnvironmentTrait.self]) { (self: Self, previousTraitCollection) in
popupItem.barButtonItems = self.traitCollection.popUpBarEnvironment == .inline ? /* inline bar */ : /* regular bar */
}
You can also handle changes in traitCollectionDidChange(_:)
.
Popup bar minimization is enabled by default, and is supported for system and custom popup bars, with the exception of custom bars with LNPopupBar.customBarWantsFullBarWidth = true
. To disable popup bar minimization, set LNPopupBar.supportsMinimization
to false
.
v4.0.10
- Improved support for popup content scroll views on iOS 26
v4.0.9
- Improved transition infrastructure for SwiftUI on iOS 26
- UIKit will no longer print “Unexpected nil window in latent system gesture client update” warnings
v4.0.7
- Improved default custom bar corner configuration on iOS 26
- Improved bar frame calculation on iOS 26
- Fixed an issue where popup bar appeared incorrectly on square screen devices
UIViewController.insetsForBottomDockingView
is deprecated on iOS 26 and above, and is no longer used- Bumped required Xcode to version 16
- The project will soon require Xcode 26 to compile; if you are holding out because of glass design, you can use UIDesignRequiresCompatibility to still get the legacy iOS look and feel (this framework supports this fully)