- pr-1269: Fixed Xcode 11 crash, where layoutMargins are not available before iOS 13.
- pr-1270: Fixed missing argument in Swift Package Manager.
- Updated to Motion 3.1.3.
- Fixed Grid issues, where the layout calculations were being deferred and causing inconsistencies in layouts.
- Updated to Motion 3.1.2.
- issue-1245: Fixed issue where completion block was not executed when calling Switch.toggle.
- pr-1248: Exposed Obj-C methods for NavigationDrawerController.
- issue-1247: Several methods in NavigationDrawerController not visible in Obj-C.
- pr-1239: Fixed regression with intrinsic content sizing in Switch control.
- pr-1240: Fixed prepare method called twice.
- issue-1215: prepare() is called twice on NavigationDrawerController.
- Added installation instructions to README.
- pr-1236: Added Layout relations.
- issue-1220: Support all relations for Layout constraints.
- pr-1233: Fixed Layout breaks - subview ordering.
- issue-1232: Layout breaks view arrangements.
- pr-2131: Storyboard TextField fixes.
- issue-1229: TextField's tintColor doesn't support user setting.
- issue-1230: Button's title font doesn't support user setting.
- Updated to swift 5.
- Updated to swift 4.2.
- pr-1124: Fixed issue-1123, TextField is not scrolling.
- issue-1123: TextField is not scrolling when inputing characters and using a large Font size.
- pr-1126: Cleaned up TextField.
- pr-1130: Addressed multiple issues.
- issue-1125: TextView with animated placeholder.
- issue-1127: TextView auto-adjust height based on text lines.
- issue-1128: TextField animates weird when text alignment is .right and we have textInset.
- Removed
textInset: CGFloat
and addedtextInsets: EdgeInsets
toTextField
.
- pr-1134: Added swipe feature to BottomNavigationController.
- issue-1132: BottomNavigationController same swipe behaviour as TabsController.
- pr-1147: Allow framework to be linked from extensions.
- pr-1151: New features.
- Added
left/right/above/below
directions toDepthPreset
. - Added
.custom(x)
case forHeightPreset
. - Added support for
heightPreset
inBottomNavigationController
. issue-1150
- Added
- pr-1165: Added interactive swipe.
- issue-1135: Convert swiping in TabsController and BottomNavigationController to interactive.
- pr-1115: Introducing Theming to Material.
- pr-1173: Added dialogs.
- pr-1174: Added disabling theming globally and per-class.
- pr-1183: Added global theme font.
- pr-1185: Reworked layout system.
- pr-1186: Fixed SnackBar laid out incorrectly.
- pr-1187: Added option for disabling snackbar layout edge inset calculation
- Updated for Swift 4.2.
- Updated to Motion 1.5.0
- pr-1120: Fixed issue where TextField cursor was not being repositioned correctly.
- issue-1119: Cursor position was incorrectly being positioned when toggling security entry.
- Updated to Motion 1.4.3
- pr-1116: ViewController-oriented clean up.
- pr-1117: Fixed TextView font issue with emojis.
- issue-838: TextView's font breaks when you type emoji.
- pr-1113: Added update() to Grid.
- pr-1112: Added tab bar centering.
- issue-926: TabsController - centering TabItem after selection.
- pr-1114: Added option to adjust tabBar line width.
- issue-1109: Want to change TabBar line width.
- issue-1110: Fixed an issue where the depth of a view was being clipped incorrectly.
- pr-1111: Fixed TabItem - was not being changed on swipe.
- pr-1106: Added ability to show visibility and clear button at the same time.
- issue-992: Visibility & Clear Button can't be shown in TextField at the same time.
- pr-1104: Added missing devices.
- pr-1101: Enum for support iPhoneX.
- Updated to Motion 1.4.2.
- pr-1004: Added RadioButton/CheckButton and RadioButtonGroup/CheckButtonGroup.
- issue-505: Add RadioButton and Checkbox.
- Updated to Motion 1.4.0.
- issue-1078: Update Motion Dependency.
- pr-1047: Document material color codes.
- issue-1000: Color: Document mapping from codes (e.g. a400) to names (e.g. accent1).
- pr-1055: Open up FABMenu a little bit.
- Updated Copyright years.
- pr-1079: Added custom navigationBarClass support to NavigationController.
- issue-1074: Need to use a NavigationBar subclass with NavigationController.
- pr-1080: Fixed license badge href.
- pr-1046: Added ShouldOpen and ShouldClose delegate methods to FABMenuDelegate.
- issue-1043: ShouldOpen and ShouldClose delegate methods FABMenu.
- pr-1086: Fix delegations never fired on tab swipe.
- issue-1087: TabBar item is selected even though TabsController delegate shouldSelect always returns false.
- issue-1056: Delegation methods never fired on Tab swipe.
- pr-1088: Removed unnecessary convenience initializers.
- issue-1085:
convenience init()
across the framework prevents generic initialization of the components.
- issue-1085:
- pr-1082: Added ErrorTextField validation.
- issue-1017: Can we make the error detail for textfields dynamic?
- issue-1053: TextField Detail Label not Layed-Out correctly with Left-Image.
- pr-1103: Added ability to change password visibility icons.
- pr-1097:: Added new extensions: UIColor(argb:), UIColor(rgb:), UIButton.fontSize, UILabel.fontSize.
- pr-1093:: Fix TextField placeholderLabel position.
- issue-1092: TextField.placeholderLabel is positioned higher than before in version 2.x.x.
- pr-1103: Added ability to change password visibility icons.
- issue-1012: Can we set visibility icon custom for password textfield.
- issue-1057: Added image states for TabItems used in TabBar and TabsController.
- issue-995: Updated iOS 11 layout margins for NavigationBar.
- pr-1038: Merged PR for iOS 11 layout margins fix.
- Updated TabsController to no longer force the default animation to change between tabs and not return to normal behavior.
- issue-1044: Fixed issue where TabBar items were not correctly laying out.
- issue-841: Adjusted default sizing for Switch to be more like the original sizing.
- pr-1030: Added workaround for known issue where trailing whitespace is apparent in UITextField.
- Updated to Motion 1.3.5.
- pr-1019: Added swipe gesture handling to TabsController.
- Updated to Motion 1.3.4.
- issue-1016: Updated hierarchy traversal for TransitionController types to no longer skip over non TransitionController types.
- issue-1015: Fixed regression where view lifecycle functions were not being called.
- Motion disabled by default for NavigationController to avoid unbalanced calls to view lifecycle when presenting a NavigationController modally.
- Updated to Motion 1.3.3.
- Updated to Motion 1.3.2.
- Fixed unbalanced calls in Motion transitions.
- Updated to Motion 1.3.1.
- Updated to Motion 1.3.0.
- issue-997: Fixed NavigationDrawerController where swiping off device caused a partial correct state.
- Fixed layout issues in CollectionView, where the sizing was not correctlly being initialized.
- issue-495: Made TextField.textInset available in Obj-C.
- pr-979: Added
visibilityOff
icon and updatedTextField
to utilize it. - issue-982: Updated Icon let declarations to var declarations to allow custom icon sets.
- issue-980: Added
@objc
to extension properties in Material+UIView. - issue-650: Fixed issue where
NavigationBar.backButton
would incorrectly be laid out when caching view controllers. - issue-973: Fixed issue where
Button.prepare
was not being called in the correct order.
- issue-965: Removed duplicate
prepare
call in initializer. - Rework of Layout's internal process - removed an async call to layout views.
- Updated the layout calls for FABMenu's fabButton.
- issue-957: Fixed StatusBar height issue in iOS 9 and iOS 10.
- samples issue-95: Fixed TabBar image colors that were not correctly being set for a given state.
- Fixed layout issue, where the calculation of the layout item was not being set in the current render cycle.
- Fixed issue where sizing of pulse was incorrectly animating when using the NavigationController on iOS 11.
- issue-924: Fixed NavigationController display in iOS 10.
- Fixed iPhoneX topLayoutGuide constraints not properly being set for StatusBarController types.
- Fixed iOS 11 layout issues for NavigationController.
- pr-945: iPhoneX update for TabBar bottom line alignment.
- samples-issue-78: Fixed iPhoneX bottomLayoutGuide constraints not properly being set.
- Fixed breaking change to loading the TabsController.
- issue-933: Fixed issue where
NavigationDrawerController
was not displaying theleftViewController
andrightViewController
. - issue-940: Fixed an issue where the
TransitionController
was not executing the lifecycle functions for the initialrootViewController
.
- pr-938: An expansion on this PR to fix the lifecycle issues with transitions.
- Fixed issue where TabBar.lineColor was incorrectly being updated.
- Updated to Motion 1.2.4.
- issue-937: Added @objc to
TabBar.lineColor
for access availability. - pr-934: Added access to the
TabBar.line
view.
- Updated to Motion 1.2.3.
- issue-919: Fixed issue where lifecycle methods were being called on tab item view controllers prematurely.
- pr-923: Merge PR that fixes issue-919.
- issue-931: Fixed issue where selectedTabItem was not updated correctly during a porgrammatic transition.
- issue-907: Fixed Layout ordering issues.
- issue-860: Updated TabBar color states and added an independent line color state.
- issue-911: Added @objc to TabBar.tabItems for visibility in Obj-C.
- issue-860: Added
TabBar
color states.
- Added Cartfile for Carthage package manager, which includes the Motion dependency.
- Updated Motion submodule to use
https
overgit@
.
- Updated to Motion 1.2.2.
- Fixed duplicate
prepare
call inTabsController
.
- Updated the installation guide for Material, Material - It's time to download. Material now uses Motion as a submodule and CocoaPods dependancy.
- samples issue-70: Made an internal
_TabBarDelegate
to avoid needing to override theTabBarDelegate
inTabsController
.
- issue-891: Fixed conflict with addAttributes method in the NSMutableAttributedString extension.
- issue-773: Added
Swift 4
support. - pr-873: Fixes PlaceholderLabel position when right-aligned - iOS 11.0
- issue-886: Fixed a memory leak within Motion's references to previous
UINavigationControllerDelegate
andUITabBarControllerDelegate
. - issue-861: Fixed
NavigationBar
beingnil
in some cases. - issue-845: Fixed ambiguity issues with all properties.
- issue-849: Fixed issue where
TextView.placeholderNormalColor
was not correctly displaying. RenamedTextView.placeholderNormalColor
toTextView.placeholderColor
. - issue-856: Fixed issue where
TextField.placeholderAnimation = .hidden
was not correctly being displayed when text was set to nil. - All default instances of
Color.grey.lighten3
have been switched toColor.grey.lighten2
.
- issue-833:
TabsController
now be selected programmatically. - issue-859:
TabsController
now has a delegation protocolTabsControllerDelegate
. - issue-830: Bug fix where
TabsController
did not animate to the correct tab when programmatically set.
- issue-857: Fixed an issue where setting the
statusBar
property for theToolbarController
was not updating the background color correctly. - issue-858: Fixed
Photos
sample project that was not updated to reflect the changes in theTabBar
. - pr-715: Added
isPlaceholderUppercasedWhenEditing
property toTextField
. - pr-721: Added
FABMenuItemTitleLabelPosition
which allows theFABMenu
to place itsFABBMenuItems
to either theleft
orright
position of theFABButton
. - pr-851: Added
placeholderHorizontalOffset
property toTextField
. - pr-847: Added
placeholderActiveScale
property toTextField
. - pr-848: Natural motion transition added to
TabsController
when view controllermotionModalTransitionType
is set to.auto
. Card
types default to adepthPreset
of.none
.- Added
shouldSelect
method toTabBarDelegate
. - Updated
TabsController
to useTabBarDelegate
rather than button handlers. - Updated
EdgeInsetsPreset
values to:
.square1: EdgeInsets(top: 4, left: 4, bottom: 4, right: 4)
.square2: EdgeInsets(top: 8, left: 8, bottom: 8, right: 8)
.square3: EdgeInsets(top: 16, left: 16, bottom: 16, right: 16)
.square4: EdgeInsets(top: 20, left: 20, bottom: 20, right: 20)
.square5: EdgeInsets(top: 24, left: 24, bottom: 24, right: 24)
.square6: EdgeInsets(top: 28, left: 28, bottom: 28, right: 28)
.square7: EdgeInsets(top: 32, left: 32, bottom: 32, right: 32)
.square8: EdgeInsets(top: 36, left: 36, bottom: 36, right: 36)
.square9: EdgeInsets(top: 40, left: 40, bottom: 40, right: 40)
.square10: EdgeInsets(top: 44, left: 44, bottom: 44, right: 44)
.square11: EdgeInsets(top: 48, left: 48, bottom: 48, right: 48)
.square12: EdgeInsets(top: 52, left: 52, bottom: 52, right: 52)
.square13: EdgeInsets(top: 56, left: 56, bottom: 56, right: 56)
.square14: EdgeInsets(top: 60, left: 60, bottom: 60, right: 60)
.square15: EdgeInsets(top: 64, left: 64, bottom: 64, right: 64)
- Added
ToolbarAlignment
to allow placement of theToolbar
at the top or bottom of the view controller. - Added
SearchBarAlignment
to allow placement of theSearchBar
at the top or bottom of the view controller.
- Renamed
TabBarController
toTabsController
to avoid name confusion with iOSUITabBarController
helper properties. - Updated layout with
TabsController
to properly adjust during orientation changes.
TabBarController
now subclassesTransitionController
to minimize code.- Fixed regression in
TabBarController
where line was incorrectly animation upon initial interaction.
- Renamed
TabsController
toTabBarController
. - Renamed
ChipsController
toChipBarController
. - issue-832: Fixed issue where
TabBar
line was incorrectly laying out.
- Replaced
RootController
withTransitionController
. - Updated CharacterAttribute API.
- Added Chips - alpha phase.
- issue-824: Fixed issue where
TabBar
line alignment was not correctly animating when initial engaged. - issue-820: Fixed retain cycle found in FABMenuController.
- issue-815: Fixed the TabBar line alignment issue when rotating the device orientation.
Removed PageTabBarController and added the TabsController. Now removing the following issues and feature requests:
- issue-811: Removed scrollable TabBar style, until feature is ready.
- Added Motion framework to Material as new animation and transitions library.
- Removed
Capture
. - Removed
PhotoLibrary
. - Removed
Reminders
. - issue-809: Fixed detailTextLabel visibility issue.
- issue-797: Added
back button
hiding features toNavigationController
. - issue-552: Fixed
@objc
declaration issues. - pr-662: Added the ability to set a text inset for a
TextField
. - pr-707: Moved the
statusBarStyle
extension toNavigationController
fromUINavigationController
. - Updated
Display
toDisplayStyle
and renamed corresponding properties, inToolbarController
,StatusBarController
,SearchBarController
,CaptureController
, andImageCard
.
- Fixed an issue where using child view controllers would break
presenting
anddismissing
transition animations.
- issue-608: Updated
PageTabBarController
to allow programmatic selection of the current index using theselectedIndex
property.
- Updated for Xcode 8.3.
- issue-704: Fixed an issue where
TextView.clipsToBounds
was revealing the scrollable text. - issue-663: Added the ability to add insets for the
TextView
. - issue-598: Added a placeholder to the
TextView
. - Removed
Editor
and added all the necessary functionality inTextView
.
- issue-695: Fixed issue with pr-696, where FABMenu was incorrectly being displayed used the SpringAnimation API.
- issue-681: Fixed regression where
NavigationBar
was not properly setting the background color. - Fixed issue where transitions using
UINavigationController
would sometimes flicker.
- Renamed
FabButton
toFABButton
. - Moved
Menu
toFABMenu
. - Moved
MenuController
toFABMenuController
. - Added
FABMenuBacking
enum type to set ablur
orfade
for the openedFABMenu
state using aFABMenuController
. - Renamed
MenuItem
toFABMenuItem
. - Added
SpringAnimation
animation API. - issue-641: Added a new
PulseAnimation.tap
type, which has an instant feedback response when tapping. - Updated
Toolbar.display
toToolbar.toolbarDisplay
. - Updated
SearchBar.display
toSearchBar.searchBarDisplay
. - Added
StatusBar.statusBarDisplay
. - Added
MotionAnimation
enum type and helper methods toCALayer
andUIView
as extensions. - Added Motion to Material.
- issue-692: Fixed issue where Carthage was failing to build the macOS target for Material.
- Removed macOS support.
- Updated Material.podspec to fix potential macOS issue.
- issue-678: Fixed issue where
Card
was incorrectly displaying itscontentView
.
- Fixed an issue where the
Card
was not displaying thecontentView
andpresenterView
correctly on initial load.
- Added missing
UIView
properties toMaterial+UIView
extension that are used in the Motion PhotoCollection sample.
- issue-676: Fixed an issue where
Card
types were not adjusting size correctly when usingUILabels
.
- issue-658: Added
TextFieldPlaceholderAnimation
enum type to enableTextField
to have different animations.
- Fixed an issue where
TabBar
was not correctly setting thecontentEdgeInsets*
andinterimSpace*
.
- issue-655: Updated date for release in README to 2017.
- issue-653: Fixed a
TextField
issue where the animation was not correctly responding to a programmatic text update.
- Updated README release dates.
- issue-640: Fixed an issue where
TextField
was not laying out correctly when setting the text programmatically.
- issue-646: Fixed an issue where calling
TextField.becomeFirstResponder
inviewDidLoad
would cause a layout issue.
- issue-644: Fixed issue where
Switch.isOn
andSwitch.switchState
were not updating correctly.
- issue-643: Fixed an issue where
Layout
was not anchoring correctly forView
subclasses.
- Fixed double
Menu.hitTest
call that was causing the delegation method to be fired more than once. - Updated
Toolbar.title
,Toolbar.titleLabel
,Toolbar.detail
, andToolbar.detailLabel
to be@IBInspectable
.
- issue-194: Fixed an issue where hitTest was failing after translation animation.
- issue-624: Updated
Switch
&TabBar
control to only call the delegation methods when the control is updated through a user interaction. - Renamed
Switch.on
toSwitch.isOn
. - Removed
Switch.setOn
function. - issue-630: Added
Reminders
andRemindersController
. - Added
isDividerHidden
for theDivider UIView
extension.
- issue-551: Fixed issue where
TabBar
was not laying out buttons correctly when more than 6 were used. - issue-618: Updated
Grid
andLayout
to solve aToolbar
layout challenge. - issue-620: Fixed issue where setting the
CAAnimation.delegate
was causing an animation issue.
- issue-597: Fixed an issue where
NavigationBar
was not adjusting to all sizes correctly when using modal presentation styles. - Fixed an issue when
cornerRadius
was not being calculated correctly when theCALayer
was rotated.
- issue-612: Fixed issue where SnackbarController was not resizing correctly.
- issue-615: Added
snackbarEdgeInsets
andsnackbarEdgeInsetsPreset
to position theSnackbar
from theSnackbarController's
edges.
- issue-613: Fixed an issue where the Grid system was not laying out in all cases that it should.
- Removed
statusBarStyle
andisStatusBarHidden
properties fromRootController
types, in favor of using theApplication
class.StatusBarController
now providesstatusBarStyle
andisStatusBarHidden
properties.
- issue-553: Fixed an issue where the
NavigationDrawerController.leftViewController
was sizing incorrectly.
- issue-610: Fixed issue where the
RootController.rootViewController
was not transitioning correctly when using certain UIViewController types.
- Added the ability to modify the
contentViewAlignment
of aNavigationItem
dynamically. - Renamed the
ContentViewAlignment.any
value toContentViewAlignment.full
.
- Minor updates to
Card
types for code clarity.
- Fixed issue where
ImageCard
was not ordering theUIImageView
behind theToolbar
correctly.
- Fixed an issue where iOS animations with
Motion
were not correctly writing their end value usingCAAnimationDelegate
.
- Fixed an issue where the
NavigationBar.backButton
was not placed at the most left position when present.
- Updates
Motion.translation*
toMotion.translate*
. - issue-595: Fixed issue where CAAnimations for iOS 10 were not working correctly.
- issue-600: Fixed issue where
Carthage
was not able to build due to failing to recognize theNavigationDrawerController
gesture recognizer.
- issue-600: Fixed issue where
Carthage
was not able to build due to failing to recognize theNavigationDrawerController
gesture recognizer.
- issue-583: Fixed issue where
TextField.detail
was not being displayed unless it was set upon preparation time. - issue-594: Added feature request to set the
TextField.leftView
coloring based on thenormal
oractive
states, using theTextField.detail .leftViewNormalColor
andTextField.detail .leftViewActiveColor
properties respectively.
- issue-584: Added enum types for
Device.model
value. - Divided
Device
intoApplication
,Device
, andScreen
. This is for expansion of their APIs. - Fixed issue where
NavigationDrawer
andRootController
types would conflict when showing the statusBar.
- issue-588: removed memory leaks that surround Grid.
Grid
is now a struct from a class type.Divider
is now a struct from a class type.Pulse
is now a struct and views that have pulse now conform to thePulseable
protocol.
- issue-592: fixed
NavigationDrawerController
regression, where transitioning therootViewController
would go behind thecontentViewController
.
- Updated blur logic.
- issue-591: Fixed
blur
calculation complexity forCarthage
compilation.
- issue-588: Fixed GridAxis memory leak issue.
- issue-568: fixed issue where
placeholderActiveColor
was not being set correctly whenTextField
was in an active state. - issue-568: fixed issue where setting
text
tonil
broke theTextField
layout. - issue-581: Added
UIImage.blur
extension.
- Fixed issue-557 where the transitioned view controller was overlapping the
RootController
type controls.
- Added
Capture
delegation methods that notify whenvideoOrientation
changes.
- Merged in PR-566 to move
CAAnimation
String constants to enum types. - Renamed the
Animation
struct toMotion
, in order to initiate the expansion of the Motion library within Material. - Fixed issue-573 where sample had incorrect spelling for
Material
. - Updated
Bar
type layout mathematics. - Updated
FabButton
defaultbackgroundColor
towhite
. - Updated
Capture
API with sample project.
- Fixed issue where
ImageCard
top
andbottom
EdgeInsets
were not being applied correctly.
- Updated Card internals for better performance.
- Added sample CardTableView.
We moved all sample projects to a separate repo named Samples to allow their development to be independent of the Material framework. There has been instances where we needed to update the versions of the framework to accommodate changes that only occurred in the sample projects.
- Fixed recursion issue with
Snackbar
and reloading. - issue-552: Removed extraneous @objc declarations.
- Added
dividerContentEdgeInsets
anddividerContentEdgeInsetsPreset
to Material+UIView extension.
- Updated default
pulseColor
toColor.grey.base
. - Added
HeightPreset
type to dynamically set the height of theCALayer
&UIView
types. UIImage.tintWithColor(color: UIColor)
is nowUIImage.tint(with color: UIColor)
and always returns with.alwaysOriginal
rendering mode.UIImage.imageWithColor(color: UIColor)
is nowUIImage.image(with color: UIColor)
and always returns with.alwaysOriginal
rendering mode.- Merged in PR 544, which allows for the left view to be used in the
TextField
. - Updated the
TextField
example project to reflect PR 544. - Reworked
TextField
. - Added
contentEdgeInsets
toDivider
. - Fixed issue where
pulse layer
was coveringButton
images when engaged. - For
Divider
, renameddividerHeight
todividerThickness
to accommodate alignment logic. - Added SearchBar delegation methods for when text changes and for when the text has been cleared.
- Updated default
pulseColor
toColor.white
. - Updated NavigationDrawerController Example Project to demonstrate how to transition the
rootViewController
, both with aToolbarController
and without, issue-546.
- Moved the Switch
trackLayer
property from aCAShapeLayer
to aUIView
that is now namedtrack
. - Fixed an issue where
Switch
in aBar
type orNavigationBar
would behave incorrectly, issue-540. - Added a
ToolbarController
to the programmaticNavigationDrawerController
example project.
- Added a new feature where
TextField
'splaceholder
can be fixed at the top and not animated by setting theisPlaceholderAnimated
property tofalse
(issue-534). - Added a new feature where a
centerViews
property is added toBar
types, to automatically align views in the center outward positions. Updated sampleCard
projects andBar
projects to reflect this. - Added a new feature to
Grid
, wherecolumns
androws
are automatically set if their values have not been changed from the default0
value.
-
Renamed
MaterialColor
toColor
. -
Renamed
MaterialIcon
toIcon
. -
Renamed
MaterialSpacing
toInterimSpacePreset
. -
Renamed
MaterialButton
toButton
. -
Renamed
MaterialView
toView
. -
Renamed
MaterialPulseView
toPulseView
. -
Renamed
MaterialSwitch
toSwitch
. -
Renamed
MaterialLayer
toLayer
. -
Renamed
MaterialFont
to `Font. -
Renamed
MaterialEdgeInset
toEdgeInsetsPreset
. -
Renamed
MaterialDevice
toDevice
. -
Renamed
MaterialDepth
toDepth
. -
Renamed
CaptureView
toCapture
. -
Renamed
CardView
toCard
. -
Renamed
ImageCardView
toImageCard
. -
Renamed
MaterialBorder
toBorderWidthPreset
. -
Renamed
MaterialRadius
toCornerRadiusPreset
. -
Renamed
MaterialDataSourceItem
toDataSourceItem
. -
Renamed
MaterialTableViewCell
toTableViewCell
. -
Renamed
shadowPathAutoSizeEnabled
toisShadowPathAutoSizing
. -
Fixed issue where TextField placeholder was not respecting initial vertical offset (issue-469).
-
Added @objc to all enums to allow Obj-C to see the enum types and associated methods (issue-472).
-
Added
PageTabBarController
. -
Added
JSON
to simplify working with JSON objects.
- Fixed issue where
textColor
was not being respected in Storyboards forTextField
(issue-487).
- Fixed issue where initially setting the
TextField
did not correctly align theplaceholder
offset (issue-469).
- Fixed issue where
TextField
alignment was incorrect with RTL (issue-456).
- Fixed issue where
StatusBarController
was not calling itssuper.prepareView
method.
- Fixed issue where NavigationBar was not aligning correctly with Storyboards.
- Updated
CGRectZero
values toCGRect.zero
. - Minor cleanups.
- Fixed issue where left and right view controllers are not enabled on
NavigationDrawerController
(issue-452).
- Fixed an issue where
MaterialSwitch
was exposing a memory leak with itsdelegate
(issue-449). - Fixed a regression where FabButton was losing shape (issue-450).
- Updated property
enableHideStatusbar
toenableHideStatusBar
forNavigationDrawerController
. - Updated
CGRectZero
toCGRect.zero
.
- Fixed an issue where
Toolbar
andNavigationBar
title
alignment was off with adetail
value of "" (issue-445). - Fixed an issue where
NavigationDrawerController
was crashing when transitioning betweenrootViewController
(issue-444).
- Fixed issue with NavigationDrawerController rightView not aligning correctly when rotating device.
- Update
shadowPath
animation to happen when laying out subviews, rather than when laying out sublayers. - Renamed
MaterialLayout
toLayout
for simplicity. - Added
Layout
extension to ease the usage of AutoLayout. - Added Layout Documentation.
- Updated the
MaterialLayout
project toLayout
. - fixed width issue for all
ControlView
types when using dynamicintrinsicContentSize
(issue-436). - Renamed
SideNavigationController
toNavigationDrawerController
. - Removed
SideNavigationController
example project for both programmatic and storyboards. - Added
NavigationDrawerController
example project for both programmatic. - Added
StatusBarController
to manage a statusBarView.
- Fixed an issue where the
UINavigationItem.title
KVO would crash when releasing the instance. The fix completely removes KVO and utilizes Swiftnonobjc
tagging.
- Added
adjustOrientationForImage
toCaptureSession
in order to fix image alignment issues. - Updated
CaptureView
sample project to reflect changes made inToolbarController
. - Updated
MaterialView
sample project to demonstrate aligning aMaterialView
in thecenter
of a view controller. - Fixed issue where UINavigationItem.title was not updating the titleLabel text.
- Fixed issue with ellipses in NavigationBar showing when panning back to the backItem (pr-409).
- Added delegation method
menuViewDidTapOutside
toMenuView
to support closing theMenu
,MenuView
, orMenuController
items when opened and clicking on any area of the view (issue-406).
- Removed
statusBarStyle
fromBarView
types. - Added
statusBarStyle
to BarController types. - Added
layoutInset
toGrid
for an additional layer of flexibility. - Fixed an issue where BarControllers were not allowing
contentInset.top
to be used correctly. - Updated projects to reflect framework changes.
- Fixed issue where
MaterialSwitch
was referencing self and creating a bad access (issue-399). - Fixed issue where
TextField.secureTextEntry
would break the font being displayed (issue-400). - Moved
MenuViewController
toMenuController
. - Updated
MenuController.itemViewSize
toMenuController.itemSize
. - Updated
MenuController.baseViewSize
toMenuController.baseSize
. - Updated all references to
unowned self
toweak self
. - Added convenience properties
title
anddetail
to theToolbar
, which reload the view when changed. - Added convenience properties
title
anddetail
to UINavigationItem to easily handle text changes. - added to
TextField
theplaceholderVerticalOffset
anddetailVerticalOffset
to determine the alignment during animations and loading of theplaceholderLabel
anddetailLabel
.
- Fixed issue where Toolbar was not respective the frame size set (issue-382).
- Fixed issue where Toolbar was not drawing the titleLabel and detailLabel text without left/right controls (issue-381).
StatusBarView
is nowBarView
.StatusBarViewController
is nowBarViewController
.
- Fixed text alignment issue in NavigationBar and Toolbar.
- All references to
detailView
are nowcontentView
. - Updated NavigationBar interface.
- Reworked NavigationBar.
- Reworked Toolbar measurements.
- Reworked SearchBar measurements.
- Fixed issue where initializing a Toolbar in a method was causing an ambiguous initializer error (issue-363).
- Added Boolean properties to SideNavigationController to enable and disable gestures (issue-365).
sideNavigationController.enabled = true
sideNavigationController.enabledLeftView = true
sideNavigationController.enabledLeftTapGesture = true
sideNavigationController.enabledLeftPanGesture = true
sideNavigationController.enabledRightView = true
sideNavigationController.enabledRightTapGesture = true
sideNavigationController.enabledRightPanGesture = true
- Updated the SideNavigationController
leftThreshold
andrightThreshold
to 64 as a default. - Updated MaterialIcon images to work better with CocoaPods (issue-362).
- Added Google visibility icon to MaterialIcon.
- Added Google check icon to MaterialIcon.
- Reworked TextField with documentation.
- Added ErrorTextField.
- Added visibility button and clear button auto enabling without conflicting with iOS clearButton for TextField.
- Reworked pulse animations.
- Added
PulseAnimation
enum type to select the type of pulse animation. - Added
IconButton
to simplify the usage of using icons and buttons. - Fixed issue where panning gestures were conflicting with the SideNavigationController rootViewController (1ssue-322, issue-320).
- Updated MaterialDepth to more accurately express Material Design's shadows (issue-323).
- Fixed an issue where MaterialButtons could not update
textColor
(issue-333).
- Fixed issue where TextField
resignFirstResponder
was not hiding thetitleLabel
(issue-332). - TextField no longer needs to setup
detailLabel
property. - TextField
detailLabel
now supports @IBInspectable.
- Fixed issue where TextField doesn't hide the titleLabel when programmatically cleared (issue-330) (pr-331).
- Added UIImage extension
tintWithColor
, which allows an image to be tinted with a passed in color. - Added
pulseCenter
property, which forces the pulse animation to animate from the center of the view (pr-325). - Updated
prepareView
to be public, which allows for better subclassing and preparation of views (pr-329). - Fixed issue where TextField regressed when updating the
placeholder
value (issue-316).
- Fixed issue where TextField
placeholder
could be updated while a text value exists (issue-316).
- Updated Example/Programmatic/SideNavigationController project to demonstrate how to transition the rootViewController (issue-309).
- Added a link to download our sticker sheet.
- Updated App project with correct naming in AppDelegate file.
- README Update.
- Added storyboard CardView example with two CardViews (issue-304).
- Fixed issue where TextField animation references
unowned self
and should beweak self
(issue-301) (pr-302). - Added
lineLayerThickness
andlineLayerActiveThickness
to TextField in order to adjust lineLayer during different states (issue-307).
- Fixed issue where TextField delegate method
textFieldShouldClear
was not being respected (issue-296).
- Updated TextField's default colors to the correct Material Design colors (pr-290).
- Added UIImage blur effect (pr-291).
- Added UIImage blur example project, FilterBlur.
- Added
SideNavigationController.statusBarUpdateAnimation
property to set the animation type when hiding the statusBar. - Added
SideNavigationController.statusBarStyle
property to set the statusBar style.
- Added MaterialIcon example project.
- Added additional Google and CosmicMind icons.
- Added MaterialFontLoader to aid in loading packaged fonts with Material.
- Updated App project to properly handle SideNavigationController
openLeftView
if used.
- Updated the TextField animations.
- Fixed bundle identifier issue with CocoaPods and MaterialIcon.
- Updated Material bundle identifier.
- Updated TextField to match Material Design input text spec.
- Added early release of TabBar.
- Updated default
spacing
toSpacing1
for Toolbar and SearchBar. - Updated default
contentInsetPreset
toSquare1
for Toolbar, SearchBar, and NavigationBar. - Updated
MaterialGravityToString
toMaterialGravityToValue
. - TextField's
clearButton
no longer needs to be setup. - TextField's
titleLabel
no longer needs to be setup (issue-241). - TextField and SearchBar - added
clearButtonAutoHandleEnabled
flag that when set tofalse
, the handler for clearing text is removed (issue-229). - TextField's
titleLabelAnimationDistance
is now 4 by default. - TextField's
titleLabel
now floats when focused (issue-203). - TextField's
bottomBorderLayerDistance
is nowlineLayerDistance
. - TextField now supports the
lineLayerActiveColor
, which is set when the TextField is focused. - TextField now supports the
lineLayerDetailActiveColor
, which is set when the TextField detailLabel is displayed. - Fixed issue-203, where TextField's
lineLayer
property was not the proper thickness when active. - Fixed regression, where the TextField's
bottomLayer
color was not showing (issue-276). - Removed shape code that was not needed in TextField and TextView.
- Updated example projects using SearchBar, and simplified the configuration for the SearchBar.
- Added OSX build target.
- Added MaterialColor to OSX.
- Added Google icons as default for
MaterialIcon
and additional CosmicMind icons withcm
namespace (issue-285).
- Added custom icons to MaterialIcon.
- Updated App example project.
- Added MaterialCollectionView example project.
- Added NavigationController storyboard example project.
- Default colors for MaterialSwitch moved from MaterialColor.lightBlue.* to MaterialColor.blue.*.
- Updated MaterialColor with corrections to the colors from Material Design (issue-271).
- Switched BottomNavigationBar to BottomTabBar, as it is more appropriate in the context of iOS. BottomNavigationController will be comprised of a SnackBar (coming soon), and BottomTabBar.
- Added fix for Interface Builder, where MaterialSwitch was causing crashes (issue-259).
- Fixed issue where MaterialSwitch color was not propagating until engaged (issue-260).
- Added missing imports for UIKit in MaterialCollectionView classes.
- Added BottomNavigationBar.
- Added default Fade animation to BottomNavigationBar.
- Added programmatic BottomNavigationBar example project.
- Added storyboard BottomNavigationBar example project.
- Added BottomNavigationController.
- Added programmatic BottomNavigationController example.
- Removed c-style
for
loops. - Updated bundle detection for MaterialIcon.
- References for
mainViewController
are nowrootViewController
. - References for
transitionFromMainViewController
are nowtransitionFromRootViewController
. - The example App project demonstrates how to hide the
statusBar
without thenavigationBar
being animated. - Fixed warnings for Swift 3.
- Added detection for latest iPad and iPhone.
- Fixed issue-244, where Test Coverage flag was causing an error.
- Updated the default width of the SideNavigationController to reflect the Material Design spec more accurately. For mobile, the default width is 280px, and for tablet, the default width is 320px.
- Removed SideNavigationControllerDelegate call from NavigationController class that was not used.
- Added
pulseFocus
Boolean flag that keeps the pulse displayed as the button is highlighted (issue-217). - Switched
pulseColorOpacity
topulseOpacity
. - Added @IBInspectable where appropriate (issue-151).
- Added @IBDesignable where appropriate (issue-151).
- Fixed an issue where the tests were being broken (issue-224).
NavigationBarView
is now calledToolbar
.SearchBarView
is now calledSearchBar
.SideNavigationViewController
is nowSideNavigationController
.- Added public
leftThreshold
andrightThreshold
toSideNavigationController
(issue-220).
- Added class NavigationBar and NavigationController.
- Added contentsGravityPreset where appropriate, and now contentsGravity takes a String.
- Fixed issue-213,
shadowPathAutoSizeEnabled
now defaults to true, from false.
- MaterialAnimation.rotate now accepts an
angle
parameter or arotation
parameter. - Fixed issue-194, where the MaterialAnimation.translation animations were not capturing the final state value.
- Fixed issue-201, by guaranteeing that the minimal iOS version is 8.
- Updated storyboard NavigationBarView example project to correctly set the height of the NavigationBarView when rotating orientations on both iPad and iPhone.
- Removed NavigationBarViewDelegate and SearchBarViewDelegate.
- Fixed issue-195, where MaterialSwitch was switching the switchState automatically through the highlighted property.
- Fixed issue-196, where NavigationBarView was not sizing correctly on iPad.
- Added MaterialDevice helper class that provides useful values for orientation and bounds size.
- Removed backDropLayer for SideNavigationViewController. Now, the mainViewController.view property is set to 50% alpha when opened and 100% alpha when closed. The color is adopted from the backgroundColor of the mainViewController.view property.
- MenuViewController now animates its backdrop effect.
- Added
shadowPathAutoSizeEnabled
property that enables auto sizing for the shadowPath property. Defaults to false.
- Fixed shadowPath animation on rotation.
- Proposed fixed for NavigationBarView geometry issue.
- Updated CardView and ImageCardView to have a default rounded corner of .Radius1 as in the Material Design spec.
- Updated the example App project.
- Updated example App project.
- Updated App project example, by showing how to switch NavigationBarViewController's mainViewController from a SideNavigationViewController.
- Added a FeedViewController to the example App project that shows how to use CardViews in a MaterialCollectionView.
- Fixed a performance issue with shadows and animations, issue-186.
- Fixed issue with MaterialSwitch, issue-181.
- Fixed issue with NavigationBarView Geometry, issue-179.
- Added MaterialCollectionView, MaterialCollectionViewLayout, MaterialCollectionViewCell.
- Added enum MaterialSpacing type for spacing presets, spacingPreset.
- Added TextField storyboard example.
- Rework to better the performance of animations with depth.
- Fixed breaking examples.
- Added NavigationBarViewControllerDelegate that monitors the state of the
floatingViewController
property. - Added TextField
detailLabelAutoHideEnabled
property that flags the animation to hide the detailLabel automatically when the text value has changed. Default is true.
- Added headers to public build phase.
- License text update.
- CaptureView example has been updated to use the latest NavigationBarView API.
- NavigationBarView default sizing:
- Only titleLabel, font size is 20.
- With titleLabel and detailLabel, font size is 17 for titleLabel, and 12 for detailLabel.
- Example projects updated.
- Added App example project in Examples/Programmatic.
- Added ControlView.
- Added StatusBarView.
- NavigationViewController is now NavigationBarViewController.
- Added StatusBarViewController.
- Added SearchBarViewController.
- MaterialSwitch now supports setting the "on", "selected", "highlighted", and "switchState" properties to toggle the state of the control.
- MaterialSwitch now supports setOn(on: Bool, animated: Bool) method to switch the state of the control.
- MaterialSwitch now supports 'on', 'highlighted', 'selected', 'state', and 'switchState' public mutators.
- MaterialSwitchDelegate updated 'materialSwitchStateChanged' delegation method to only pass a reference to the control, rather than control and state value.
- Added MenuViewController.
- SideNavigationBarViewController is now SideNavigationViewController.
- UIViewController Optional property sideNavigationBarViewController is now sideNavigationViewController.
- Added TextField placeholderTextColor property to set the placeholder text color.
- TextField detailLabel property hides automatically when typing.
- TextField now supports a custom clear UIButton by setting the clearButton property.
- Updated SerchBarView Example.
- A rotation issue is fixed when in landscape mode and toggling the SideNavigationViewController, where the statusBar would
- Added MaterialSwitch UIControl component with example projects in the Examples/Programmatic directory.
- MaterialEdgeInsetPreset is now MaterialEdgeInset.
- MaterialRadius preset values are now supported through the cornerRadiusPreset property. The cornerRadius property now supports CGFloat values directly.
- Updated TableCardView example.
- Added SearchBarView.
- Updated NavigationBarView API.
- Added NavigationViewController.
- Updated TextField and TextView issue, where letters such as "y g p" would not display correctly.
- MaterialButton has updated contentInsetPreset to contentEdgeInsetsPreset.
- Added MaterialTableViewCell with pulse animation.
- Updated SideNavigationViewController example project.
- Fixed an issue with MenuView, where outside views were not detected when touched.
- Updated API to reference views.
- MenuView wraps a Menu with a MaterialPulseView to ease the use of laying out menus, as well as, provide a more robust approach to Menus.
- Menus now hold an array of UIViews, allowing any UIView to be animated with Menu.
- The borderWidth property for Material views no longer uses an enum MaterialBorder type. It now supports the CGFloat type.
- CardView and ImageCardView no longer support the detailLabel property. Now, a detailView property has been added to allow any UIView, including UILabel to be added in the detail area.
- Grid now supports management of rows and columns in a single mapping.
- Updated Grid examples.
- Visit the Examples directory to see example projects using Material.
- Updated README.
- Updated Grid Example.
- Updated README.
- Updated Material usage description.
- Introducing Material Grid. A flexible grid system to handle complex layouts.
- Default depth is now .Depth1.
- Added two more examples using Menu.
- Added a new component, Menu!
- A Menu manages a group of UIButtons that may be animated open in the Up, Down, Left, and Right directions. The animations
- Fixed an issue where toggling the SideNavigationViewController enabled property caused the 'left' and 'right' view to stop
- Updated MaterialView example.
- Updated pulse animation to be a wave.
- Added
pulse
method to programmatically trigger the pulse animation. - Updated examples to reflect pulse changes.
- Updated README to reflect pulse changes.
- Removed
pulseFill
andspotlight
from pulse animatable views as they are no longer needed.
- Some minor updates to the internal references used for animations.
- Removed Task example to its own repository.
This update is recommended.
- Major update to SideNavigationViewController internals and animation.
- Added an additional duration parameter to setLeftViewWidth with animation and setRightViewWidth with animation.
This is a recommended update.
- Updated internal animations to handle UIView animations correctly.
- Updated SideNavigationViewController to allow quick swipe to close.
- Updated SideNavigationViewController to not block view touches when tap gesture is triggered.
- Updated workspace reference to Material project.
- To remove deprecated warnings, and provide an overall better solution, UIImage now utilizes NSURLSession for asynchronous image loading.
- The MaterialLayer example project demonstrates this feature update.
- SideNavigationViewController now supports the Right position for View Controllers.
- SideNavigationViewController API updates should be reviewed from the Class file.
- Updated README.
- Updated framework name to Material to avoid conflicts with other frameworks.
- Updated default TextField animation distance for titleLabel to 8.
- Updated default TextView animation distance for titleLabel to 8.
- The SideNavigationViewController example project has been updated.
- Updated README.
- An updated SideNavigationViewController example has been added to the Examples Programmatic directory. It includes a fresh new look and a reusable template for your applications.
- Updates to the TextView and TextField were made to follow Google's spacing guidelines.
- An issue with setting the TextView or TextField's text property has been fixed, where the title label was not being
- Additional updates were made to many of the example projects.
- Updated License Format.
- Updated License Format.
- Material is moving to a BSD license.
- Added @objc to TextView and TextViewDelegate to eliminate conflicts when using swift within an Objective-C project. Below is an example of a medium CardView using Grid.
- Fixed an issue where the optional TextView.text property was being accessed and throwing an error when used in combination with Objective-C.
- Updated TextView internals to avoid optimization build issue with Carthage.
- Updated icon set in example projects.
- Updated Resources folder with latest graphics.
- Updated README.
- Removed the File Class.
- Updated README to correct TextField example. Right out of the box to a fully customizable configuration, CardView always stands out. Take a look at a few examples in action.
- titleLabelTextColor is now titleLabelColor.
- titleLabelActiveTextColor is now titleLabelActiveColor.
- detailLabelActiveTextColor is now detailLabelActiveColor.
- titleLabelTextColor is now titleLabelColor.
- titleLabelActiveTextColor is now titleLabelActiveColor.
- Updated README to include Changelog link.
- Has been removed completely.
- MaterialEdgeInsets is now MaterialEdgeInsetPreset.
- contentInsets is now contentInsetPreset.
- contentInsetsRef is now contentInset.
- dividerInsets is now dividerInsetPreset.
- dividerInsetRef is now dividerInset.
- contentInsets is now contentInsetPreset.
- contentInsetsRef is now contentInset.
- titleLabelInsets is now titleLabelInsetPreset.
- titleLabelInsetsRef is now titleLabelInset.
- detailLabelInsets is now detailLabelInsetPreset.
- detailLabelInsetsRef is now detailLabelInset.
- leftButtonsInsets is now leftButtonsInsetPreset.
- leftButtonsInsetsRef is now leftButtonsInset.
- rightButtonsInsets is now rightButtonsInsetPreset.
- rightButtonsInsetsRef is now rightButtonsInset.
- dividerInsets is now dividerInsetPreset.
- dividerInsetRef is now dividerInset.
- contentInsets is now contentInsetPreset.
- contentInsetsRef is now contentInset.
- titleLabelInsets is now titleLabelInsetPreset.
- titleLabelInsetsRef is now titleLabelInset.
- detailLabelInsets is now detailLabelInsetPreset.
- detailLabelInsetsRef is now detailLabelInset.
- leftButtonsInsets is now leftButtonsInsetPreset.
- leftButtonsInsetsRef is now leftButtonsInset.
- rightButtonsInsets is now rightButtonsInsetPreset.
- rightButtonsInsetsRef is now rightButtonsInset.
- shrink is now shrinkAnimation.
- wrapped is no longer an Optional.
- contentsScale is no longer an Optional.
- shrink is now shrinkAnimation.
- updatedPulseLayer is now updatePulseLayer.
- contentInsets is now contentInsetPreset.
- contentInsetsRef is now contentInset.
- titleLabelInsets is now titleLabelInsetPreset.
- titleLabelInsetsRef is now titleLabelInset.
- detailLabelInsets is now detailLabelInsetPreset.
- detailLabelInsetsRef is now detailLabelInset.
- leftButtonsInsets is now leftButtonsInsetPreset.
- leftButtonsInsetsRef is now leftButtonsInset.
- rightButtonsInsets is now rightButtonsInsetPreset.
- rightButtonsInsetsRef is now rightButtonsInset.
- When setting the enabled property, gestures are removed and added appropriately.
- titleLabelNormalColor is now titleLabelTextColor.
- titleLabelHighlightedColor is now titleLabelActiveTextColor.