Change Log
All notable changes to this project will be documented in this file.
Tabman adheres to Semantic Versioning.
2.x Releases
2.9.xReleases - 2.9.0 | 2.9.12.8.xReleases - 2.8.0 | 2.8.1 | 2.8.22.7.xReleases - 2.7.02.6.xReleases - 2.6.0 | 2.6.1 | 2.6.2 | 2.6.32.5.xReleases - 2.5.02.4.xReleases - 2.4.0 | 2.4.1 | 2.4.2 | 2.4.32.3.xReleases - 2.3.02.2.xReleases - 2.2.0 | 2.2.12.1.xReleases - 2.1.0 | 2.1.1 | 2.1.2 | 2.1.3 | 2.1.42.0.xReleases - 2.0.0
1.x Releases
1.10.xReleases - 1.10.0 | 1.10.1 | 1.1.0.21.9.xReleases - 1.9.0 | 1.9.1 | 1.9.21.8.xReleases - 1.8.0 | 1.8.1 | 1.8.21.7.xReleases - 1.7.01.6.xReleases - 1.6.01.5.xReleases - 1.5.0 | 1.5.1 | 1.5.21.4.xReleases - 1.4.01.3.xReleases - 1.3.01.2.xReleases - 1.2.01.1.xReleases - 1.1.0 | 1.1.1 | 1.1.2 | 1.1.3 | 1.1.41.0.xReleases - 1.0.0 | 1.0.1 | 1.0.2 | 1.0.3 | 1.0.4 | 1.0.5 | 1.0.6 | 1.0.7 | 1.0.8
0.x Releases
0.8.xReleases - 0.8.0 | 0.8.1 | 0.8.2 | 0.8.30.7.xReleases - 0.7.0 | 0.7.1 | 0.7.2 | 0.7.30.6.xReleases - 0.6.0 | 0.6.1 | 0.6.20.5.xReleases - 0.5.0 | 0.5.1 | 0.5.2 | 0.5.30.4.xReleases - 0.4.0 | 0.4.1 | 0.4.2 | 0.4.3 | 0.4.4 | 0.4.5 | 0.4.6 | 0.4.7 | 0.4.8
2.9.1
Released on 2020-07-20
Fixed
- Crash when calling
TMBarButton.allTargetsdue toTMBarButtonInteractionControllernot being hashable.- by SuperTango
2.9.0
Released on 2020-05-04
Updated
- Dropped support for legacy Swift (4.x) versions.
- Pageboy to 3.6.
2.8.2
Released on 2020-04-25
Fixed
- Layout issues when using Right-to-left languages via
semanticContentAttribute.
2.8.1
Released on 2020-04-21
Fixed
- Mixed language errors caused by
Tabman.hheader in Swift PM.- by filiplazov
2.8.0
Released on 2020-01-12
Added
verticalAlignmenttoTMLabelBarButtonto allow for button contents to be vertically aligned.
Fixed
- Issue where
TMLabelBarButtonwould fail to resize correctly when using custom fonts.
2.7.0
Released on 2019-12-23
Added
centerDistributedtoTMBarLayout.Alignmentto center align all bar buttons.- by wwdc14.
Updated
- Removed AutoInsetter as a dependency.
- Child insetting logic now utilises
additionalSafeAreaInsetsonly on iOS 11 and above.
Fixed
- #449 Infinite loop that could be caused by recursive layout calls.
- #487 Issue where child contents could be requested to layout before being added to the view hierarchy.
- #478 Issue where bar could fail to inset children when created dynamically for the page view controller.
2.6.3
Released on 2019-10-06
Updated
- Pageboy to 3.5.0.
2.6.2
Released on 2019-10-03
Fixed
- Center aligned
TMBarLayoutnot working for trailing buttons.- by townsendeb.
- Center aligned
TMBarLayouthaving an incorrect offset when using a non-zerocontentInset.
2.6.1
Released on 2019-09-11
Fixed
- Missing imports that could cause a Swift PM build to fail.
2.6.0
Released on 2019-09-11
Added
- Support for Swift Package Manager in Xcode 11.
- Support for Dark Mode in iOS 13.
contentInsettoTMBadgeViewallowing for custom badge content insets.
Fixed
- Issue where accessing
safeAreaLayoutGuidecould cause a crash on Jailbroken devices.- by nghiaphunguyen.
- Issue where constraints in
TMTabItemBarButtonwould not correctly be applied on iOS 13.- by forceunwrap.
- Issue where a
TMSystemBarcould fail to correctly extend background edges into system areas.
2.5.0
Released on 2019-08-03
Added
- Support for vertical separators between bar buttons to
TMHorizontalBarLayoutviashowSeparators. separatorColortoTMHorizontalBarLayout.separatorInsettoTMHorizontalBarLayout.separatorWidthtoTMHorizontalBarLayout.
2.4.3
Released on 2019-07-13
Updated
- Add support for multiple Swift versions to Podspec.
2.4.2
Released on 2019-04-25
Fixed
- Incorrect Swift version in podspec, now
4.0.
2.4.1
Released on 2019-04-20
Fixed
- Build issues with iOS 9.
2.4.0
Released on 2019-04-19
Added
- Ability to override automatic inset values via
calculateRequiredInsets()onTabmanViewController.- by WingedDoom
- #404
adjustsAlphaOnSelectiontoTMBarButton. - #338 Ability to hide / show the bar with
TMHidingBar. - #403 Accessibility support to
TMBarView.- by iv-mexx
- #403 Accessibility support to
TMBarItem.- by iv-mexx
- #403 Accessibility support to
TMBarButton.- by iv-mexx
- #321
navigationItem(item:)toTabmanViewController.BarLocationwith support for embedding aTMBarin aUINavigationBar.
Updated
- Make
TMBarItemopen. - Make
.titleopen onTMBarItem. - Make
.imageopen onTMBarItem. - Make
.badgeValueopen onTMBarItem. - Make
.itemsopenonTMBarView. - Make
.dataSourceopenonTMBarView. - Make
.delegateopenonTMBarView. - Make
.scrollModeopenonTMBarView. - Make
.fadesContentEdgesopenonTMBarView. - Make
.spacingopenonTMBarView. - #396 Improved layout adaptability of
TMTabItemBarButtonon iPad and in landscape. - #404
TMBarButtonno longer performs default fade transition inupdate(for selectionState:)
2.3.0
Released on 2019-03-31
Updated
- Added support for Swift 5.
- Added support for Xcode 10.2.
- Improved Swift 4 compatibility.
2.2.1
Released on 2019-03-24
Updated
- AutoInsetter to 1.6 - with numerous fixes and improvements for view controller insetting.
2.2.0
Released on 2019-03-14
Added
- #363
.alignmentproperty toTMBarLayoutto adjust content alignment. - #378
.spacingproperty toTMBarViewto adjust spacing between bar content / accessory views. - #373
setNeedsUpdate()toTMBarItemableto allow for dynamic item updates. - #387 Ability to show badges on
TMBarButtonvia.badgeValueonTMBarItemable.. - #392
tabmanParenttoUIViewController. - #392
tabmanBarItemstoUIViewController.
Updated
- #378 Improved bar transitioning behavior when adjusting selected tab.
- #373
.titleis now mutable onTMBarItemable. - #373
.imageis now mutable onTMBarItemable.
2.1.4
Released on 2019-02-23
Fixed
- #383 Child insetting issues on iOS 10.
2.1.3
Released on 2019-01-14
Fixed
- #366 Incorrect indicator positioning when using a Right-to-Left language.
Updated
- #368 Improve access controls in
TMBarIndicatorand subclasses. - #368 Improve access controls in
TMBarButton. - #368 Improve access controls in
TMBarLayout.
2.1.2
Released on 2018-12-29
Updated
- Swift version to 4.2 in podspec.
- by benbahrenburg.
Fixed
- Annoying conformance warning in
TMBarcaused by Swift compiler bug.- by benbahrenburg.
2.1.1
Released on 2018-12-24
Updated
- Make
TMHorizontalBarLayoutpropertiesopen. - Make
TMConstrainedHorizontalBarLayoutpropertiesopen. - Make
TMLabelBarButtonopen. - Make
TMTabItemBarButtonopen.
Fixed
2.1.0
Released on 2018-12-19
Added
- #355 Public initializer to
TMAnimation.- by netspencer.
Updated
- #354 Remove
UIViewControllerconformance toTMBarItemable. - Improved documentation.
2.0.0
Released on 2018-12-02
Basically, everything has changed.
Added
- Redesigned and completely re-engineered bar layout system.
- Support for dynamic page insertion & deletion via Pageboy 3.
- Support for multiple bars, including dynamic addition and removal.
- Simplified, more powerful customization via constrained types.
- Ability to add accessory views to bars.
- Support for
UIKitcomponents such asUINavigationItemto bar items. - Dramatically simplified creation and integration of custom components.
Updated
- Improved animation & transitioning engine.
- All views are now exposed via public API.
Fixed
- Numerous issues with automatic insetting of child contents.
- A whole lot of performance fixes.
- Numerous memory problems.
1.10.2
Released on 2018-10-04
Fixed
- Cleaned up some potential memory issues in Bar reloading.
- by msaps.
1.10.1
Released on 2018-10-03
Fixed
1.10.0
Released on 2018-09-20
Updated
- Migrated to use Swift 4.2.
1.9.2
Released on 2018-08-02
Fixed
1.9.1
Released on 2018-06-20
Fixed
1.9.0
Released on 2018-06-05
Added
1.8.2
Released on 2018-04-18
Fixed
1.8.1
Released on 2018-04-12
Updated
- Improved animation when interactively transitioning between items with a
selectedFont.- by msaps.
selectedFontnow defaults tofontif no custom value is set when used in button bars.- by msaps.
Fixed
- #273 ssue where selectedTextFont would incorrectly be used for every item in a button bar when not selected.
- by msaps.
1.8.0
Released on 2018-04-06
Updated
1.7.0
Released on 2018-04-02
Added
.bottomSeparatorconfiguration toTabmanBar.Appearance.- by msaps.
- Ability to customize separator height via
Appearance.bottomSeparator.height. - Ability to specifiy a selected font for bar items via
Appearance.text.selectedFont.
Updated
- Deprecated
Appearance.State.shouldHideWhenSingleItem.- by msaps.
- Deprecated
Appearance.Style.bottomSeparatorColor.- by msaps.
- Deprecated
Appearance.Layout.bottomSeparatorEdgeInsets.- by msaps.
1.6.0
Released on 2018-02-23
Updated
1.5.2
Released on 2018-02-09
Updated
- Improved compatiblity with Carthage.
- Carthage now builds ‘Tabman’ scheme and target.
- by msaps.
1.5.1
Released on 2018-02-05
Updated
- Updated AutoInsetter to 1.2 for ‘extension safe API’ compatibility.
- by msaps.
1.5.0
Released on 2018-01-30
Updated
- Tabman now uses AutoInsetter.
- by msaps.
- Auto Insetting now takes account of relative subview positioning.
- by msaps.
Fixed
1.4.0
Released on 2018-01-13
Updated
- #215 Add default crossfade transition to custom indicators.
- by Limon-O-O.
- #229 Update project workspace to use CocoaPods for dependency management.
- by msaps.
- #231 Update styling for project.
- by msaps.
1.3.0
Released on 2018-01-10
Added
Updated
- #219 Make Tabman safe to use in extensions.
- by msaps & OskarGroth.
- #221 Remove PureLayout dependency.
- by msaps.
1.2.0
Released on 2017-12-20
Added
- #192
automaticallyAdjustsChildViewInsetstoTabmanViewController.- by msaps.
Updated
- #192 Deprecated
automaticallyAdjustsChildScrollViewInsets.- by msaps.
- #191 Disable auto-insetting when the bar is embedded or attached.
- by msaps.
- #208 Remove temporary fix for iOS 11.2 safe area change.
- by msaps.
Fixed
1.1.4
Released on 2017-12-20
Updated
- Versions of Tabman 1.1.x are now tied to Pageboy 2.1.x.
- by msaps.
1.1.3
Released on 2017-12-12
Fixed
1.1.2
Released on 2017-12-05
Fixed
1.1.1
Released on 2017-11-28
Fixed
1.1.0
Released on 2017-11-23
Added
- #187 Behaviors engine to
TabmanBar.- by msaps.
- #186 Ability to hide TabmanBar with only one item.
- by msaps.
- #177 Improve TabmanBar accessibility.
- by msaps.
Updated
- Refactored auto insetting logic to
AutoInsetEngine.- by msaps.
- Improved auto insetting reliability.
- by msaps.
1.0.8
Released on 2017-11-15
Added
Fixed
- Removed unnecessary debugging logging.
- by msaps.
1.0.7
Released on 2017-11-15
Added
- Support for
additionalSafeAreaInsetsfor child view controllers.- by msaps.
1.0.6
Released on 2017-11-12
Updated
- Renamed
safeAreaInsetstosafeAreainTabmanBar.Insets.- by msaps.
Fixed
- Fixed issue where bar background would not extend correctly when using
.preferredbar location.- by msaps.
- Fixed issue where child view controller contents would not get inset correctly on iPhone X.
- by msaps.
1.0.5
Released on 2017-10-23
Added
- Added support for
UICollectionViewControllerand automatic insetting.- by msaps.
Fixed
1.0.4
Released on 2017-10-22
Added
- New
embedBar(in view: UIView)function toTabmanViewController.- by msaps.
Updated
- Deprecated
embedBar(inView view: UIView)inTabmanViewController.- by msaps.
- Add improved error handling to bar embedding and attachment operations.
- by msaps.
1.0.3
Released on 2017-10-11
Added
- #154 Support for extending bar background on iPhone X function areas.
- by msaps.
- #148
imageRenderingModetoTabmanBar.Appearance.Style.- by thevest.
1.0.2
Released on 2017-09-28
Added
safeAreaInsetstoTabmanBar.Insets.- by msaps.
Updated
- Deprecated
topLayoutGuideinTabmanBar.Insets.- by msaps.
- Deprecated
bottomLayoutGuideinTabmanBar.Insets.- by msaps.
Fixed
1.0.1
Released on 2017-09-18
Added
contextproperty toTabmanBar.Item.- by Vortec4800.
Updated
- Updated example project styling and improved iPhone X support.
- by msaps.
1.0.0
Released on 2017-09-14
Added
- Swift 4 support
- by msaps.
- Support for Xcode 9 and iOS 11.
- by msaps.
- Compatibility for Pageboy 2.
- by msaps.
0.8.3
Released on 2017-09-05
Added
- #135 Ability to extend background edge insets under system components.
- Added by msaps.
- #138
extendBackgroundEdgeInsetsproperty toTabmanBar.Appearance.- Added by msaps.
0.8.2
Released on 2017-08-25
Fixed
- #132 Crash when using
UITableViewControllerwith auto-insetting enabled.- Fixed by Patrick-Remy.
- Resolved deprecation warnings when using latest Xcode 9 beta.
- Fixed by msaps.
0.8.1
Released on 2017-08-04
Fixed
0.8.0
Released on 2017-07-25
Updated
- Update Pageboy dependency to 1.4.x.
- Updated by msaps.
0.7.3
Released on 2017-07-13
Updated
- #108 Remove lazy variables to fix Carthage linker errors.
- Fixed by msaps.
- Rename
TabmanBarBackgroundViewtoTabmanBar.BackgroundView. - Rename
TabmanSeparatortoSeparator. - Rename
TabmanCircularViewtoCircularView. - Rename
TabmanChevronViewtoChevronView.
Fixed
0.7.2
Released on 2017-07-10
Fixed
- #111 Fix issue with
bottomLayoutGuideinset when usingUITableViewController.- Fixed by msaps.
- #80 Fix issue where automatic insetting would incorrectly be re-applied when
hidesBarOnSwipewas enabled onUINavigationController.- Fixed by msaps.
0.7.1
Released on 2017-06-30
Added
Fixed
0.7.0
Released on 2017-06-24
Added
- #96 Added compatibility support for iOS 8.
0.6.2
Released on 2017-06-19.
Added
- #77 Support for Right-To-Left languages.
- Tabman & Pageboy both now fully support localization for right-to-left language layout.
Updated
- Pageboy to
1.2
Fixed
- #91 Issue where title labels in
TabmanBarcould appear to be using different font sizes due to incorrect layout compression.
0.6.1
Released on 2017-06-18.
Added
minimumItemWidthtoAppearance.Layout.- Allows for specification of the minimum width an item in a scrolling
TabmanBarmust be for display. - By AlexZd
- Allows for specification of the minimum width an item in a scrolling
Itemtypealias forTabmanBar.ItemtoTabmanViewController.
Updated
- Pageboy to
1.1.2.
0.6.0
Released on 2017-06-14.
Added
TabmanBarDelegatedelegate property toTabmanBar.Config.- Ability to dictate whether a bar item should be selected.
- Available via
bar(shouldSelectItemAt index: Int) -> BoolinTabmanBarDelegate. - By Fábio Bernardo.
- Available via
- Ability to hide
TabmanBarif only one item is provided.- Available via
shouldHideWhenSingleIteminTabmanBar.Appearance.State. - By Diogo Brito
- Available via
Updated
- Refactored
TabmanBarItemtoTabmanBar.Item. - Refactored
TabmanBarConfigtoTabmanBar.Config.
Fixed
- Fixed issue where
useRoundedCornerswould not work on line indicators. - Fixed issue where bar would incorrectly layout with superview layout changes.
0.5.3
Released on 2017-06-09.
Added
- Added
itemSelected(at index: Int)function toTabmanBar.- Informs the
TabmanViewControllerthat an item in the bar has been selected.
- Informs the
- Added
construct(in contentView: UIView, for items: [TabmanBarItem])function toTabmanBarLifecycle. - Added
add(indicator: TabmanIndicator, to contentView: UIView)function toTabmanBarLifecycle.
Removed
- Removed
constructTabBar(items: [TabmanBarItem])fromTabmanBarLifecycle. - Removed
addIndicatorToBar(indicator: TabmanIndicator)fromTabmanBarLifecycle.
0.5.2
Released on 2017-06-07.
Updated
- Updated
Pageboytov1.1.0.
0.5.1
Released on 2017-05-24.
Added
itemDistributionproperty toTabmanBar.Appearance.Layout.- Allows for centre aligning items within a bar. #71
Updated
- Improvements to documentation.
- Minor refactoring to
TabmanBar.Appearance.
0.5.0
Released on 2017-05-14.
Added
- Added Carthage support #30.
- Added automatic child view controller insetting behaviour #43.
- This will automatically inset any
UIScrollViewcontent that is present in child view controllers to appear correctly withTabmanBar. - Enabled by default with the
automaticallyAdjustsChildScrollViewInsetsproperty onTabmanViewController.
- This will automatically inset any
- Added
requiredInsetsTabmanBar.Insetsobject toTabmanBarConfig.- Provides inset values for all components required to manually inset content correctly for a
TabmanBar. - Replaces
requiredContentInset.
- Provides inset values for all components required to manually inset content correctly for a
Updated
- Added a fresh coat of paint.
- Deprecated
requiredContentInsetonTabmanBarConfig. - Move initialisation logic to
viewDidLoadfromloadView.
0.4.8
Released on 2017-04-20.
Updated
- Pod releases are now locked to a specific version of
Pageboy.
Fixed
- Fixed deprecation warning for
PageboyViewController.PageIndexAPI update. - #58 Fixed missing delegate function from
PageboyViewControllerDelegateAPI update.
0.4.7
Released on 2017-04-11.
Updated
- Updated dependencies.
Fixed
- #51 Fixed issue with using custom font on bar styles other than
.scrollingButtonBar.
0.4.6
Released on 2017-04-06.
Updated
- Updated podspec to use latest versions of
Pageboywhich contain numerous fixes.
0.4.5
Released on 2017-04-05.
Fixed
- #50 Fixed memory retain issue with
TabmanBarConfig.delegateproperty.
0.4.4
Released on 2017-04-04.
Updated
- New artwork and colours for the repo & example app.
Fixed
- Fix issue where
requiredContentInsetproperty onTabmanViewController.barwould consistently have incorrect values.- Partial fix for #42 - automatic insetting for child view controllers still under development.
0.4.3
Released on 2017-03-30.
Added
- Additional tests to improve coverage.
Updated
- Updated
interaction.isScrollEnabledto betrueby default inTabmanBar.Appearance.
Fixed
- Fixed issue where internally managed
TabmanBarcould potentially be below other subviews.
0.4.2
Released on 2017-03-28.
Added
- New
.buttonBarstyle, which features a static button bar with equally distributed spacing.
Updated
- Refactored old
.buttonBarstyle to.scrollingButtonBar. This is the new default style. - A few of the previously
publicproperties on variousTabmanBarstyles are nowinternal. These should always be updated via theTabmanBar.Appearanceobject.
Fixed
- Issues where certain appearance properties were not always adhered to correctly.
- Issues with
compresses/bouncesproperties inTabmanBar.Appearance. New behaviour simply takesbouncesas precedence and ignorescompresses. - A few minor layout issues that would appear when setting custom layout appearance properties.
0.4.1
Released on 2017-03-23.
Added
- Bottom separator view to
TabmanBar.- This can be customised via
style.bottomSeparatorColorinTabmanBar.Appearance.
- This can be customised via
- Compressing indicator transition style.
- Indicator will compress when over scrolling at the end of page ranges rather than bouncing.
- Enabled via
indicator.compressesinTabmanBar.Appearance.
- Ability to embed internally managed
TabmanBarin an external view toTabmanViewController.- Accessible via
embedBar(inView:)anddisembedBar().
- Accessible via
Updated
- Renamed
.noneto.clearinTabmanBarBackgroundView.BackgroundStyle.
0.4.0
Released on 2017-03-20.
Initial Tabman release - A powerful paging view controller with indicator bar for iOS
View on GitHub
Install in Dash
Changelog Reference