All notable changes to this project will be documented in this file.
Tabman
adheres to Semantic Versioning.
2.5.x
Releases - 2.5.02.4.x
Releases - 2.4.0 | 2.4.1 | 2.4.2 | 2.4.32.3.x
Releases - 2.3.02.2.x
Releases - 2.2.0 | 2.2.12.1.x
Releases - 2.1.0 | 2.1.1 | 2.1.2 | 2.1.3 | 2.1.42.0.x
Releases - 2.0.0
1.10.x
Releases - 1.10.0 | 1.10.1 | 1.1.0.21.9.x
Releases - 1.9.0 | 1.9.1 | 1.9.21.8.x
Releases - 1.8.0 | 1.8.1 | 1.8.21.7.x
Releases - 1.7.01.6.x
Releases - 1.6.01.5.x
Releases - 1.5.0 | 1.5.1 | 1.5.21.4.x
Releases - 1.4.01.3.x
Releases - 1.3.01.2.x
Releases - 1.2.01.1.x
Releases - 1.1.0 | 1.1.1 | 1.1.2 | 1.1.3 | 1.1.41.0.x
Releases - 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.8.x
Releases - 0.8.0 | 0.8.1 | 0.8.2 | 0.8.30.7.x
Releases - 0.7.0 | 0.7.1 | 0.7.2 | 0.7.30.6.x
Releases - 0.6.0 | 0.6.1 | 0.6.20.5.x
Releases - 0.5.0 | 0.5.1 | 0.5.2 | 0.5.30.4.x
Releases - 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
Released on 2019-08-03
- Support for vertical separators between bar buttons to
TMHorizontalBarLayout
viashowSeparators
. separatorColor
toTMHorizontalBarLayout
.separatorInset
toTMHorizontalBarLayout
.separatorWidth
toTMHorizontalBarLayout
.
Released on 2019-07-13
- Add support for multiple Swift versions to Podspec.
Released on 2019-04-25
- Incorrect Swift version in podspec, now
4.0
.
Released on 2019-04-20
- Build issues with iOS 9.
Released on 2019-04-19
- Ability to override automatic inset values via
calculateRequiredInsets()
onTabmanViewController
.- by WingedDoom
- #404
adjustsAlphaOnSelection
toTMBarButton
. - #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.BarLocation
with support for embedding aTMBar
in aUINavigationBar
.
- Make
TMBarItem
open
. - Make
.title
open onTMBarItem
. - Make
.image
open onTMBarItem
. - Make
.badgeValue
open onTMBarItem
. - Make
.items
open
onTMBarView
. - Make
.dataSource
open
onTMBarView
. - Make
.delegate
open
onTMBarView
. - Make
.scrollMode
open
onTMBarView
. - Make
.fadesContentEdges
open
onTMBarView
. - Make
.spacing
open
onTMBarView
. - #396 Improved layout adaptability of
TMTabItemBarButton
on iPad and in landscape. - #404
TMBarButton
no longer performs default fade transition inupdate(for selectionState:)
Released on 2019-03-31
- Added support for Swift 5.
- Added support for Xcode 10.2.
- Improved Swift 4 compatibility.
Released on 2019-03-24
- AutoInsetter to 1.6 - with numerous fixes and improvements for view controller insetting.
Released on 2019-03-14
- #363
.alignment
property toTMBarLayout
to adjust content alignment. - #378
.spacing
property toTMBarView
to adjust spacing between bar content / accessory views. - #373
setNeedsUpdate()
toTMBarItemable
to allow for dynamic item updates. - #387 Ability to show badges on
TMBarButton
via.badgeValue
onTMBarItemable
.. - #392
tabmanParent
toUIViewController
. - #392
tabmanBarItems
toUIViewController
.
- #378 Improved bar transitioning behavior when adjusting selected tab.
- #373
.title
is now mutable onTMBarItemable
. - #373
.image
is now mutable onTMBarItemable
.
Released on 2019-02-23
- #383 Child insetting issues on iOS 10.
Released on 2019-01-14
- #366 Incorrect indicator positioning when using a Right-to-Left language.
- #368 Improve access controls in
TMBarIndicator
and subclasses. - #368 Improve access controls in
TMBarButton
. - #368 Improve access controls in
TMBarLayout
.
Released on 2018-12-29
- Swift version to 4.2 in podspec.
- by benbahrenburg.
- Annoying conformance warning in
TMBar
caused by Swift compiler bug.- by benbahrenburg.
Released on 2018-12-24
- Make
TMHorizontalBarLayout
propertiesopen
. - Make
TMConstrainedHorizontalBarLayout
propertiesopen
. - Make
TMLabelBarButton
open
. - Make
TMTabItemBarButton
open
.
Released on 2018-12-19
- #355 Public initializer to
TMAnimation
.- by netspencer.
- #354 Remove
UIViewController
conformance toTMBarItemable
. - Improved documentation.
Released on 2018-12-02
Basically, everything has changed.
- 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
UIKit
components such asUINavigationItem
to bar items. - Dramatically simplified creation and integration of custom components.
- Improved animation & transitioning engine.
- All views are now exposed via public API.
- Numerous issues with automatic insetting of child contents.
- A whole lot of performance fixes.
- Numerous memory problems.
Released on 2018-10-04
- Cleaned up some potential memory issues in Bar reloading.
- by msaps.
Released on 2018-10-03
Released on 2018-09-20
- Migrated to use Swift 4.2.
Released on 2018-08-02
Released on 2018-06-20
Released on 2018-06-05
Released on 2018-04-18
Released on 2018-04-12
- Improved animation when interactively transitioning between items with a
selectedFont
.- by msaps.
selectedFont
now defaults tofont
if no custom value is set when used in button bars.- by msaps.
- #273 ssue where selectedTextFont would incorrectly be used for every item in a button bar when not selected.
- by msaps.
Released on 2018-04-06
Released on 2018-04-02
.bottomSeparator
configuration 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
.
- Deprecated
Appearance.State.shouldHideWhenSingleItem
.- by msaps.
- Deprecated
Appearance.Style.bottomSeparatorColor
.- by msaps.
- Deprecated
Appearance.Layout.bottomSeparatorEdgeInsets
.- by msaps.
Released on 2018-02-23
Released on 2018-02-09
- Improved compatiblity with Carthage.
- Carthage now builds 'Tabman' scheme and target.
- by msaps.
Released on 2018-02-05
- Updated AutoInsetter to 1.2 for 'extension safe API' compatibility.
- by msaps.
Released on 2018-01-30
- Tabman now uses AutoInsetter.
- by msaps.
- Auto Insetting now takes account of relative subview positioning.
- by msaps.
Released on 2018-01-13
- #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.
Released on 2018-01-10
- #219 Make Tabman safe to use in extensions.
- by msaps & OskarGroth.
- #221 Remove PureLayout dependency.
- by msaps.
Released on 2017-12-20
- #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.
Released on 2017-12-20
- Versions of Tabman 1.1.x are now tied to Pageboy 2.1.x.
- by msaps.
Released on 2017-12-12
Released on 2017-12-05
Released on 2017-11-28
Released on 2017-11-23
- #187 Behaviors engine to
TabmanBar
.- by msaps.
- #186 Ability to hide TabmanBar with only one item.
- by msaps.
- #177 Improve TabmanBar accessibility.
- by msaps.
- Refactored auto insetting logic to
AutoInsetEngine
.- by msaps.
- Improved auto insetting reliability.
- by msaps.
Released on 2017-11-15
- Removed unnecessary debugging logging.
- by msaps.
Released on 2017-11-15
- Support for
additionalSafeAreaInsets
for child view controllers.- by msaps.
Released on 2017-11-12
- Renamed
safeAreaInsets
tosafeArea
inTabmanBar.Insets
.- by msaps.
- Fixed issue where bar background would not extend correctly when using
.preferred
bar location.- by msaps.
- Fixed issue where child view controller contents would not get inset correctly on iPhone X.
- by msaps.
Released on 2017-10-23
- Added support for
UICollectionViewController
and automatic insetting.- by msaps.
Released on 2017-10-22
- New
embedBar(in view: UIView)
function toTabmanViewController
.- by msaps.
- Deprecated
embedBar(inView view: UIView)
inTabmanViewController
.- by msaps.
- Add improved error handling to bar embedding and attachment operations.
- by msaps.
Released on 2017-10-11
- #154 Support for extending bar background on iPhone X function areas.
- by msaps.
- #148
imageRenderingMode
toTabmanBar.Appearance.Style
.- by thevest.
Released on 2017-09-28
safeAreaInsets
toTabmanBar.Insets
.- by msaps.
- Deprecated
topLayoutGuide
inTabmanBar.Insets
.- by msaps.
- Deprecated
bottomLayoutGuide
inTabmanBar.Insets
.- by msaps.
Released on 2017-09-18
context
property toTabmanBar.Item
.- by Vortec4800.
- Updated example project styling and improved iPhone X support.
- by msaps.
Released on 2017-09-14
- Swift 4 support
- by msaps.
- Support for Xcode 9 and iOS 11.
- by msaps.
- Compatibility for Pageboy 2.
- by msaps.
Released on 2017-09-05
- #135 Ability to extend background edge insets under system components.
- Added by msaps.
- #138
extendBackgroundEdgeInsets
property toTabmanBar.Appearance
.- Added by msaps.
Released on 2017-08-25
- #132 Crash when using
UITableViewController
with auto-insetting enabled.- Fixed by Patrick-Remy.
- Resolved deprecation warnings when using latest Xcode 9 beta.
- Fixed by msaps.
Released on 2017-08-04
Released on 2017-07-25
- Update Pageboy dependency to 1.4.x.
- Updated by msaps.
Released on 2017-07-13
- #108 Remove lazy variables to fix Carthage linker errors.
- Fixed by msaps.
- Rename
TabmanBarBackgroundView
toTabmanBar.BackgroundView
. - Rename
TabmanSeparator
toSeparator
. - Rename
TabmanCircularView
toCircularView
. - Rename
TabmanChevronView
toChevronView
.
Released on 2017-07-10
- #111 Fix issue with
bottomLayoutGuide
inset when usingUITableViewController
.- Fixed by msaps.
- #80 Fix issue where automatic insetting would incorrectly be re-applied when
hidesBarOnSwipe
was enabled onUINavigationController
.- Fixed by msaps.
Released on 2017-06-30
Released on 2017-06-24
- #96 Added compatibility support for iOS 8.
Released on 2017-06-19.
- #77 Support for Right-To-Left languages.
- Tabman & Pageboy both now fully support localization for right-to-left language layout.
- Pageboy to
1.2
- #91 Issue where title labels in
TabmanBar
could appear to be using different font sizes due to incorrect layout compression.
Released on 2017-06-18.
minimumItemWidth
toAppearance.Layout
.- Allows for specification of the minimum width an item in a scrolling
TabmanBar
must be for display. - By AlexZd
- Allows for specification of the minimum width an item in a scrolling
Item
typealias forTabmanBar.Item
toTabmanViewController
.
- Pageboy to
1.1.2
.
Released on 2017-06-14.
TabmanBarDelegate
delegate property toTabmanBar.Config
.- Ability to dictate whether a bar item should be selected.
- Available via
bar(shouldSelectItemAt index: Int) -> Bool
inTabmanBarDelegate
. - By Fábio Bernardo.
- Available via
- Ability to hide
TabmanBar
if only one item is provided.- Available via
shouldHideWhenSingleItem
inTabmanBar.Appearance.State
. - By Diogo Brito
- Available via
- Refactored
TabmanBarItem
toTabmanBar.Item
. - Refactored
TabmanBarConfig
toTabmanBar.Config
.
- Fixed issue where
useRoundedCorners
would not work on line indicators. - Fixed issue where bar would incorrectly layout with superview layout changes.
Released on 2017-06-09.
- Added
itemSelected(at index: Int)
function toTabmanBar
.- Informs the
TabmanViewController
that 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
constructTabBar(items: [TabmanBarItem])
fromTabmanBarLifecycle
. - Removed
addIndicatorToBar(indicator: TabmanIndicator)
fromTabmanBarLifecycle
.
Released on 2017-06-07.
- Updated
Pageboy
tov1.1.0
.
Released on 2017-05-24.
itemDistribution
property toTabmanBar.Appearance.Layout
.- Allows for centre aligning items within a bar. #71
- Improvements to documentation.
- Minor refactoring to
TabmanBar.Appearance
.
Released on 2017-05-14.
- Added Carthage support #30.
- Added automatic child view controller insetting behaviour #43.
- This will automatically inset any
UIScrollView
content that is present in child view controllers to appear correctly withTabmanBar
. - Enabled by default with the
automaticallyAdjustsChildScrollViewInsets
property onTabmanViewController
.
- This will automatically inset any
- Added
requiredInsets
TabmanBar.Insets
object 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
- Added a fresh coat of paint.
- Deprecated
requiredContentInset
onTabmanBarConfig
. - Move initialisation logic to
viewDidLoad
fromloadView
.
Released on 2017-04-20.
- Pod releases are now locked to a specific version of
Pageboy
.
- Fixed deprecation warning for
PageboyViewController.PageIndex
API update. - #58 Fixed missing delegate function from
PageboyViewControllerDelegate
API update.
Released on 2017-04-11.
- Updated dependencies.
- #51 Fixed issue with using custom font on bar styles other than
.scrollingButtonBar
.
Released on 2017-04-06.
- Updated podspec to use latest versions of
Pageboy
which contain numerous fixes.
Released on 2017-04-05.
- #50 Fixed memory retain issue with
TabmanBarConfig
.delegate
property.
Released on 2017-04-04.
- New artwork and colours for the repo & example app.
- Fix issue where
requiredContentInset
property onTabmanViewController.bar
would consistently have incorrect values.- Partial fix for #42 - automatic insetting for child view controllers still under development.
Released on 2017-03-30.
- Additional tests to improve coverage.
- Updated
interaction.isScrollEnabled
to betrue
by default inTabmanBar.Appearance
.
- Fixed issue where internally managed
TabmanBar
could potentially be below other subviews.
Released on 2017-03-28.
- New
.buttonBar
style, which features a static button bar with equally distributed spacing.
- Refactored old
.buttonBar
style to.scrollingButtonBar
. This is the new default style. - A few of the previously
public
properties on variousTabmanBar
styles are nowinternal
. These should always be updated via theTabmanBar.Appearance
object.
- Issues where certain appearance properties were not always adhered to correctly.
- Issues with
compresses
/bounces
properties inTabmanBar.Appearance
. New behaviour simply takesbounces
as precedence and ignorescompresses
. - A few minor layout issues that would appear when setting custom layout appearance properties.
Released on 2017-03-23.
- Bottom separator view to
TabmanBar
.- This can be customised via
style.bottomSeparatorColor
inTabmanBar.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.compresses
inTabmanBar.Appearance
.
- Ability to embed internally managed
TabmanBar
in an external view toTabmanViewController
.- Accessible via
embedBar(inView:)
anddisembedBar()
.
- Accessible via
- Renamed
.none
to.clear
inTabmanBarBackgroundView.BackgroundStyle
.
Released on 2017-03-20.
Initial Tabman release - A powerful paging view controller with indicator bar for iOS