FloatingAccessoryKit v0.3.0
Breaking Changes
TabBarAccessoryControlleris now owned by itsUITabBarController. DirectTabBarAccessoryController(tabBarController:)construction andsetContent(_:position:animated:)have been removed in favor offloatingAccessoryControllerand explicit content, position, visibility, and removal operations.
New Features
- Add
performContentUpdate(animated:_:)to mutate and remeasure installed content in one UIKit update transaction, with UIKit timing and Reduce Motion support. - Add
setTabBarHidden(_:animated:)as the iOS 18 coordination boundary for tab bar and overlay visibility.
Improvements
- Preserve requested position and visibility when content is removed or absent, and detach removed consumer views synchronously before any snapshot animation completes.
- Automatically remeasure layout-driven content-size changes while keeping installed content and presentation identity stable.
Bug Fixes
- Fix dynamic accessory sizing across iOS 18 and iOS 26, including intrinsic-only views, system-proposed native heights, maximum-width fitting, and animated same-view size changes.
Migration Notes
- Replace direct construction with
tabBarController.floatingAccessoryController. - Replace
setContentwithsetContentView,setPosition,setHidden, orremoveContent. - Wrap explicit layout-affecting content mutations in
performContentUpdate. - On iOS 18, call the accessory controller's
setTabBarHiddeninstead of callingUITabBarController.setTabBarHiddendirectly.
Documentation
- Add a v0.3.0 migration guide and updated usage examples.
Full Changelog: v0.2.0...v0.3.0