Releases: lynnswap/TabBarMenu
Releases · lynnswap/TabBarMenu
v0.4.3
TabBarMenu v0.4.3
Improvements
- Apply preview mode updates from
updateUIViewController, reducing missed updates during SwiftUI view refreshes.
Documentation
- Expand the README introduction with a clearer overview of supported APIs and the system More tab.
Full Changelog: v0.4.2...v0.4.3
v0.4.2
Added / Improved
- Switch
UITabBaritem observation/selection handling to per-instance overrides backed by ObjC runtime hooks, avoiding global swizzling and keeping unrelated tab bars untouched. - Respect the current
isawhen layeringUITabBaroverrides, preserving existing subclasses.
Full Changelog: v0.4.1...v0.4.2
v0.4.1
Bug Fixes
- Call
configureMenuPresentationForwhen presenting the system More tab menu on tap, passingnilto match content delegate semantics.
Added / Improved
- Make
TabBarMenuPresentationDelegateconfigureMenuPresentationForparameters optional (UITab?/UIViewController?). - Remove the unused
forMoreTabIndexparameter from the More-tab placement helper. - Update README/demo and add tests for the nil More-tab presentation behavior.
Breaking Changes
- Implementations of
configureMenuPresentationFormust accept optional tab/viewController parameters.
Full Changelog: v0.4.0...v0.4.1
v0.4.0
Added / Improved
- Add tap-triggered menus for the system "More" tab via
menuForMoreTabWith tabs/menuForMoreTabWith viewControllers; when provided, TabBarMenu suppresses the default More screen (long-press menus still work) - Split menu content vs presentation into
TabBarMenuContentDelegateandTabBarMenuPresentationDelegate, withTabBarMenuDelegatecombining both - Improve menu planning and RTL/LTR fallback ordering for tab bar item views
- Add the TabBarDemo sample app and update README/demo support for the new More-tab behavior
Breaking Changes / Migration
TabBarMenuViewControllerDelegateis deprecated; adoptTabBarMenuDelegateand implementtabBarController(_:viewController:)insteadTabBarMenuDelegatenow relies on Objective-C optional method discovery; conforming types should be Objective-C compatible (e.g., subclassNSObject)
Full Changelog: v0.3.0...v0.4.0
v0.3.0
Added / Improved
- Add
updateTabBarMenu(_:)to support updating the visible menu
Full Changelog: v0.2.0...v0.3.0
v0.2.0
Added / Improved
- Add
TabBarMenuViewControllerDelegateto supportviewControllers-based tab bars - Add
maxVisibleTabCountto control behavior when the system More tab appears (More tab is treated asnil) - Rename menu presentation API to
configureMenuPresentationForand allow configuringmenuHostButton - Observe
UITabBar.itemschanges to keep long-press gestures in sync - Refresh SwiftUI previews (supports
UITabandUITabBarItem, with search tab and add/remove)
Breaking Changes / Migration
tabBarController(_:tab:)now receivesUITab?(nilfor the system More tab)anchorPlacementForrenamed toconfigureMenuPresentationFor- Default menu placement now differs by iOS version:
.insideon iOS 26+,.aboveon earlier versions
Full Changelog
Full Changelog: v0.1.1...v0.2.0
v0.1.1 — Fix tab updates handling
v0.1.0
v0.1.0
Initial release. Adds long-press menus (UIMenu) to UITabBarController tabs on iOS 18+.
Highlights
- Enable tab long-press menus by setting
menuDelegate - Provide per-tab
UIMenuviaTabBarMenuDelegate(nilto disable) - Configure long-press duration with
menuConfiguration.minimumPressDuration(default 0.35s) - Control anchor placement with
TabBarMenuAnchorPlacement(inside/above/custom/manual)
Requirements
- iOS 18.0+
- Swift 6.2