- 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: CGFloatand addedtextInsets: EdgeInsetstoTextField.
- 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/belowdirections toDepthPreset. - Added
.custom(x)case forHeightPreset. - Added support for
heightPresetinBottomNavigationController. 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
visibilityOfficon and updatedTextFieldto utilize it. - issue-982: Updated Icon let declarations to var declarations to allow custom icon sets.
- issue-980: Added
@objcto extension properties in Material+UIView. - issue-650: Fixed issue where
NavigationBar.backButtonwould incorrectly be laid out when caching view controllers. - issue-973: Fixed issue where
Button.preparewas not being called in the correct order.
- issue-965: Removed duplicate
preparecall 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
NavigationDrawerControllerwas not displaying theleftViewControllerandrightViewController. - issue-940: Fixed an issue where the
TransitionControllerwas 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.lineColorfor access availability. - pr-934: Added access to the
TabBar.lineview.
- 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
TabBarcolor states.
- Added Cartfile for Carthage package manager, which includes the Motion dependency.
- Updated Motion submodule to use
httpsovergit@.
- Updated to Motion 1.2.2.
- Fixed duplicate
preparecall 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
_TabBarDelegateto avoid needing to override theTabBarDelegateinTabsController.
- issue-891: Fixed conflict with addAttributes method in the NSMutableAttributedString extension.
- issue-773: Added
Swift 4support. - pr-873: Fixes PlaceholderLabel position when right-aligned - iOS 11.0
- issue-886: Fixed a memory leak within Motion's references to previous
UINavigationControllerDelegateandUITabBarControllerDelegate. - issue-861: Fixed
NavigationBarbeingnilin some cases. - issue-845: Fixed ambiguity issues with all properties.
- issue-849: Fixed issue where
TextView.placeholderNormalColorwas not correctly displaying. RenamedTextView.placeholderNormalColortoTextView.placeholderColor. - issue-856: Fixed issue where
TextField.placeholderAnimation = .hiddenwas not correctly being displayed when text was set to nil. - All default instances of
Color.grey.lighten3have been switched toColor.grey.lighten2.
- issue-833:
TabsControllernow be selected programmatically. - issue-859:
TabsControllernow has a delegation protocolTabsControllerDelegate. - issue-830: Bug fix where
TabsControllerdid not animate to the correct tab when programmatically set.
- issue-857: Fixed an issue where setting the
statusBarproperty for theToolbarControllerwas not updating the background color correctly. - issue-858: Fixed
Photossample project that was not updated to reflect the changes in theTabBar. - pr-715: Added
isPlaceholderUppercasedWhenEditingproperty toTextField. - pr-721: Added
FABMenuItemTitleLabelPositionwhich allows theFABMenuto place itsFABBMenuItemsto either theleftorrightposition of theFABButton. - pr-851: Added
placeholderHorizontalOffsetproperty toTextField. - pr-847: Added
placeholderActiveScaleproperty toTextField. - pr-848: Natural motion transition added to
TabsControllerwhen view controllermotionModalTransitionTypeis set to.auto. Cardtypes default to adepthPresetof.none.- Added
shouldSelectmethod toTabBarDelegate. - Updated
TabsControllerto useTabBarDelegaterather than button handlers. - Updated
EdgeInsetsPresetvalues 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
ToolbarAlignmentto allow placement of theToolbarat the top or bottom of the view controller. - Added
SearchBarAlignmentto allow placement of theSearchBarat the top or bottom of the view controller.
- Renamed
TabBarControllertoTabsControllerto avoid name confusion with iOSUITabBarControllerhelper properties. - Updated layout with
TabsControllerto properly adjust during orientation changes.
TabBarControllernow subclassesTransitionControllerto minimize code.- Fixed regression in
TabBarControllerwhere line was incorrectly animation upon initial interaction.
- Renamed
TabsControllertoTabBarController. - Renamed
ChipsControllertoChipBarController. - issue-832: Fixed issue where
TabBarline was incorrectly laying out.
- Replaced
RootControllerwithTransitionController. - Updated CharacterAttribute API.
- Added Chips - alpha phase.
- issue-824: Fixed issue where
TabBarline 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 buttonhiding features toNavigationController. - issue-552: Fixed
@objcdeclaration issues. - pr-662: Added the ability to set a text inset for a
TextField. - pr-707: Moved the
statusBarStyleextension toNavigationControllerfromUINavigationController. - Updated
DisplaytoDisplayStyleand renamed corresponding properties, inToolbarController,StatusBarController,SearchBarController,CaptureController, andImageCard.
- Fixed an issue where using child view controllers would break
presentinganddismissingtransition animations.
- issue-608: Updated
PageTabBarControllerto allow programmatic selection of the current index using theselectedIndexproperty.
- Updated for Xcode 8.3.
- issue-704: Fixed an issue where
TextView.clipsToBoundswas revealing the scrollable text. - issue-663: Added the ability to add insets for the
TextView. - issue-598: Added a placeholder to the
TextView. - Removed
Editorand 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
NavigationBarwas not properly setting the background color. - Fixed issue where transitions using
UINavigationControllerwould sometimes flicker.
- Renamed
FabButtontoFABButton. - Moved
MenutoFABMenu. - Moved
MenuControllertoFABMenuController. - Added
FABMenuBackingenum type to set ablurorfadefor the openedFABMenustate using aFABMenuController. - Renamed
MenuItemtoFABMenuItem. - Added
SpringAnimationanimation API. - issue-641: Added a new
PulseAnimation.taptype, which has an instant feedback response when tapping. - Updated
Toolbar.displaytoToolbar.toolbarDisplay. - Updated
SearchBar.displaytoSearchBar.searchBarDisplay. - Added
StatusBar.statusBarDisplay. - Added
MotionAnimationenum type and helper methods toCALayerandUIViewas 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
Cardwas incorrectly displaying itscontentView.
- Fixed an issue where the
Cardwas not displaying thecontentViewandpresenterViewcorrectly on initial load.
- Added missing
UIViewproperties toMaterial+UIViewextension that are used in the Motion PhotoCollection sample.
- issue-676: Fixed an issue where
Cardtypes were not adjusting size correctly when usingUILabels.
- issue-658: Added
TextFieldPlaceholderAnimationenum type to enableTextFieldto have different animations.
- Fixed an issue where
TabBarwas not correctly setting thecontentEdgeInsets*andinterimSpace*.
- issue-655: Updated date for release in README to 2017.
- issue-653: Fixed a
TextFieldissue where the animation was not correctly responding to a programmatic text update.
- Updated README release dates.
- issue-640: Fixed an issue where
TextFieldwas not laying out correctly when setting the text programmatically.
- issue-646: Fixed an issue where calling
TextField.becomeFirstResponderinviewDidLoadwould cause a layout issue.
- issue-644: Fixed issue where
Switch.isOnandSwitch.switchStatewere not updating correctly.
- issue-643: Fixed an issue where
Layoutwas not anchoring correctly forViewsubclasses.
- Fixed double
Menu.hitTestcall that was causing the delegation method to be fired more than once. - Updated
Toolbar.title,Toolbar.titleLabel,Toolbar.detail, andToolbar.detailLabelto be@IBInspectable.
- issue-194: Fixed an issue where hitTest was failing after translation animation.
- issue-624: Updated
Switch&TabBarcontrol to only call the delegation methods when the control is updated through a user interaction. - Renamed
Switch.ontoSwitch.isOn. - Removed
Switch.setOnfunction. - issue-630: Added
RemindersandRemindersController. - Added
isDividerHiddenfor theDivider UIViewextension.
- issue-551: Fixed issue where
TabBarwas not laying out buttons correctly when more than 6 were used. - issue-618: Updated
GridandLayoutto solve aToolbarlayout challenge. - issue-620: Fixed issue where setting the
CAAnimation.delegatewas causing an animation issue.
- issue-597: Fixed an issue where
NavigationBarwas not adjusting to all sizes correctly when using modal presentation styles. - Fixed an issue when
cornerRadiuswas not being calculated correctly when theCALayerwas rotated.
- issue-612: Fixed issue where SnackbarController was not resizing correctly.
- issue-615: Added
snackbarEdgeInsetsandsnackbarEdgeInsetsPresetto position theSnackbarfrom theSnackbarController'sedges.
- issue-613: Fixed an issue where the Grid system was not laying out in all cases that it should.
- Removed
statusBarStyleandisStatusBarHiddenproperties fromRootControllertypes, in favor of using theApplicationclass.StatusBarControllernow providesstatusBarStyleandisStatusBarHiddenproperties.
- issue-553: Fixed an issue where the
NavigationDrawerController.leftViewControllerwas sizing incorrectly.
- issue-610: Fixed issue where the
RootController.rootViewControllerwas not transitioning correctly when using certain UIViewController types.
- Added the ability to modify the
contentViewAlignmentof aNavigationItemdynamically. - Renamed the
ContentViewAlignment.anyvalue toContentViewAlignment.full.
- Minor updates to
Cardtypes for code clarity.
- Fixed issue where
ImageCardwas not ordering theUIImageViewbehind theToolbarcorrectly.
- Fixed an issue where iOS animations with
Motionwere not correctly writing their end value usingCAAnimationDelegate.
- Fixed an issue where the
NavigationBar.backButtonwas 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
Carthagewas not able to build due to failing to recognize theNavigationDrawerControllergesture recognizer.
- issue-600: Fixed issue where
Carthagewas not able to build due to failing to recognize theNavigationDrawerControllergesture recognizer.
- issue-583: Fixed issue where
TextField.detailwas not being displayed unless it was set upon preparation time. - issue-594: Added feature request to set the
TextField.leftViewcoloring based on thenormaloractivestates, using theTextField.detail .leftViewNormalColorandTextField.detail .leftViewActiveColorproperties respectively.
- issue-584: Added enum types for
Device.modelvalue. - Divided
DeviceintoApplication,Device, andScreen. This is for expansion of their APIs. - Fixed issue where
NavigationDrawerandRootControllertypes would conflict when showing the statusBar.
- issue-588: removed memory leaks that surround Grid.
Gridis now a struct from a class type.Divideris now a struct from a class type.Pulseis now a struct and views that have pulse now conform to thePulseableprotocol.
- issue-592: fixed
NavigationDrawerControllerregression, where transitioning therootViewControllerwould go behind thecontentViewController.
- Updated blur logic.
- issue-591: Fixed
blurcalculation complexity forCarthagecompilation.
- issue-588: Fixed GridAxis memory leak issue.
- issue-568: fixed issue where
placeholderActiveColorwas not being set correctly whenTextFieldwas in an active state. - issue-568: fixed issue where setting
texttonilbroke theTextFieldlayout. - issue-581: Added
UIImage.blurextension.
- Fixed issue-557 where the transitioned view controller was overlapping the
RootControllertype controls.
- Added
Capturedelegation methods that notify whenvideoOrientationchanges.
- Merged in PR-566 to move
CAAnimationString constants to enum types. - Renamed the
Animationstruct toMotion, in order to initiate the expansion of the Motion library within Material. - Fixed issue-573 where sample had incorrect spelling for
Material. - Updated
Bartype layout mathematics. - Updated
FabButtondefaultbackgroundColortowhite. - Updated
CaptureAPI with sample project.
- Fixed issue where
ImageCardtopandbottomEdgeInsetswere 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
Snackbarand reloading. - issue-552: Removed extraneous @objc declarations.
- Added
dividerContentEdgeInsetsanddividerContentEdgeInsetsPresetto Material+UIView extension.
- Updated default
pulseColortoColor.grey.base. - Added
HeightPresettype to dynamically set the height of theCALayer&UIViewtypes. UIImage.tintWithColor(color: UIColor)is nowUIImage.tint(with color: UIColor)and always returns with.alwaysOriginalrendering mode.UIImage.imageWithColor(color: UIColor)is nowUIImage.image(with color: UIColor)and always returns with.alwaysOriginalrendering mode.- Merged in PR 544, which allows for the left view to be used in the
TextField. - Updated the
TextFieldexample project to reflect PR 544. - Reworked
TextField. - Added
contentEdgeInsetstoDivider. - Fixed issue where
pulse layerwas coveringButtonimages when engaged. - For
Divider, renameddividerHeighttodividerThicknessto accommodate alignment logic. - Added SearchBar delegation methods for when text changes and for when the text has been cleared.
- Updated default
pulseColortoColor.white. - Updated NavigationDrawerController Example Project to demonstrate how to transition the
rootViewController, both with aToolbarControllerand without, issue-546.
- Moved the Switch
trackLayerproperty from aCAShapeLayerto aUIViewthat is now namedtrack. - Fixed an issue where
Switchin aBartype orNavigationBarwould behave incorrectly, issue-540. - Added a
ToolbarControllerto the programmaticNavigationDrawerControllerexample project.
- Added a new feature where
TextField'splaceholdercan be fixed at the top and not animated by setting theisPlaceholderAnimatedproperty tofalse(issue-534). - Added a new feature where a
centerViewsproperty is added toBartypes, to automatically align views in the center outward positions. Updated sampleCardprojects andBarprojects to reflect this. - Added a new feature to
Grid, wherecolumnsandrowsare automatically set if their values have not been changed from the default0value.
-
Renamed
MaterialColortoColor. -
Renamed
MaterialIcontoIcon. -
Renamed
MaterialSpacingtoInterimSpacePreset. -
Renamed
MaterialButtontoButton. -
Renamed
MaterialViewtoView. -
Renamed
MaterialPulseViewtoPulseView. -
Renamed
MaterialSwitchtoSwitch. -
Renamed
MaterialLayertoLayer. -
Renamed
MaterialFontto `Font. -
Renamed
MaterialEdgeInsettoEdgeInsetsPreset. -
Renamed
MaterialDevicetoDevice. -
Renamed
MaterialDepthtoDepth. -
Renamed
CaptureViewtoCapture. -
Renamed
CardViewtoCard. -
Renamed
ImageCardViewtoImageCard. -
Renamed
MaterialBordertoBorderWidthPreset. -
Renamed
MaterialRadiustoCornerRadiusPreset. -
Renamed
MaterialDataSourceItemtoDataSourceItem. -
Renamed
MaterialTableViewCelltoTableViewCell. -
Renamed
shadowPathAutoSizeEnabledtoisShadowPathAutoSizing. -
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
JSONto simplify working with JSON objects.
- Fixed issue where
textColorwas not being respected in Storyboards forTextField(issue-487).
- Fixed issue where initially setting the
TextFielddid not correctly align theplaceholderoffset (issue-469).
- Fixed issue where
TextFieldalignment was incorrect with RTL (issue-456).
- Fixed issue where
StatusBarControllerwas not calling itssuper.prepareViewmethod.
- Fixed issue where NavigationBar was not aligning correctly with Storyboards.
- Updated
CGRectZerovalues toCGRect.zero. - Minor cleanups.
- Fixed issue where left and right view controllers are not enabled on
NavigationDrawerController(issue-452).
- Fixed an issue where
MaterialSwitchwas exposing a memory leak with itsdelegate(issue-449). - Fixed a regression where FabButton was losing shape (issue-450).
- Updated property
enableHideStatusbartoenableHideStatusBarforNavigationDrawerController. - Updated
CGRectZerotoCGRect.zero.
- Fixed an issue where
ToolbarandNavigationBartitlealignment was off with adetailvalue of "" (issue-445). - Fixed an issue where
NavigationDrawerControllerwas crashing when transitioning betweenrootViewController(issue-444).
- Fixed issue with NavigationDrawerController rightView not aligning correctly when rotating device.
- Update
shadowPathanimation to happen when laying out subviews, rather than when laying out sublayers. - Renamed
MaterialLayouttoLayoutfor simplicity. - Added
Layoutextension to ease the usage of AutoLayout. - Added Layout Documentation.
- Updated the
MaterialLayoutproject toLayout. - fixed width issue for all
ControlViewtypes when using dynamicintrinsicContentSize(issue-436). - Renamed
SideNavigationControllertoNavigationDrawerController. - Removed
SideNavigationControllerexample project for both programmatic and storyboards. - Added
NavigationDrawerControllerexample project for both programmatic. - Added
StatusBarControllerto manage a statusBarView.
- Fixed an issue where the
UINavigationItem.titleKVO would crash when releasing the instance. The fix completely removes KVO and utilizes Swiftnonobjctagging.
- Added
adjustOrientationForImagetoCaptureSessionin order to fix image alignment issues. - Updated
CaptureViewsample project to reflect changes made inToolbarController. - Updated
MaterialViewsample project to demonstrate aligning aMaterialViewin thecenterof 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
menuViewDidTapOutsidetoMenuViewto support closing theMenu,MenuView, orMenuControlleritems when opened and clicking on any area of the view (issue-406).
- Removed
statusBarStylefromBarViewtypes. - Added
statusBarStyleto BarController types. - Added
layoutInsettoGridfor an additional layer of flexibility. - Fixed an issue where BarControllers were not allowing
contentInset.topto be used correctly. - Updated projects to reflect framework changes.
- Fixed issue where
MaterialSwitchwas referencing self and creating a bad access (issue-399). - Fixed issue where
TextField.secureTextEntrywould break the font being displayed (issue-400). - Moved
MenuViewControllertoMenuController. - Updated
MenuController.itemViewSizetoMenuController.itemSize. - Updated
MenuController.baseViewSizetoMenuController.baseSize. - Updated all references to
unowned selftoweak self. - Added convenience properties
titleanddetailto theToolbar, which reload the view when changed. - Added convenience properties
titleanddetailto UINavigationItem to easily handle text changes. - added to
TextFieldtheplaceholderVerticalOffsetanddetailVerticalOffsetto determine the alignment during animations and loading of theplaceholderLabelanddetailLabel.
- 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).
StatusBarViewis nowBarView.StatusBarViewControlleris nowBarViewController.
- Fixed text alignment issue in NavigationBar and Toolbar.
- All references to
detailVieware 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
leftThresholdandrightThresholdto 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
PulseAnimationenum type to select the type of pulse animation. - Added
IconButtonto 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
resignFirstResponderwas not hiding thetitleLabel(issue-332). - TextField no longer needs to setup
detailLabelproperty. - TextField
detailLabelnow 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
pulseCenterproperty, which forces the pulse animation to animate from the center of the view (pr-325). - Updated
prepareViewto be public, which allows for better subclassing and preparation of views (pr-329). - Fixed issue where TextField regressed when updating the
placeholdervalue (issue-316).
- Fixed issue where TextField
placeholdercould 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 selfand should beweak self(issue-301) (pr-302). - Added
lineLayerThicknessandlineLayerActiveThicknessto TextField in order to adjust lineLayer during different states (issue-307).
- Fixed issue where TextField delegate method
textFieldShouldClearwas 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.statusBarUpdateAnimationproperty to set the animation type when hiding the statusBar. - Added
SideNavigationController.statusBarStyleproperty 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
openLeftViewif 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
spacingtoSpacing1for Toolbar and SearchBar. - Updated default
contentInsetPresettoSquare1for Toolbar, SearchBar, and NavigationBar. - Updated
MaterialGravityToStringtoMaterialGravityToValue. - TextField's
clearButtonno longer needs to be setup. - TextField's
titleLabelno longer needs to be setup (issue-241). - TextField and SearchBar - added
clearButtonAutoHandleEnabledflag that when set tofalse, the handler for clearing text is removed (issue-229). - TextField's
titleLabelAnimationDistanceis now 4 by default. - TextField's
titleLabelnow floats when focused (issue-203). - TextField's
bottomBorderLayerDistanceis 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
lineLayerproperty was not the proper thickness when active. - Fixed regression, where the TextField's
bottomLayercolor 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
MaterialIconand additional CosmicMind icons withcmnamespace (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
forloops. - Updated bundle detection for MaterialIcon.
- References for
mainViewControllerare nowrootViewController. - References for
transitionFromMainViewControllerare nowtransitionFromRootViewController. - The example App project demonstrates how to hide the
statusBarwithout thenavigationBarbeing 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
pulseFocusBoolean flag that keeps the pulse displayed as the button is highlighted (issue-217). - Switched
pulseColorOpacitytopulseOpacity. - Added @IBInspectable where appropriate (issue-151).
- Added @IBDesignable where appropriate (issue-151).
- Fixed an issue where the tests were being broken (issue-224).
NavigationBarViewis now calledToolbar.SearchBarViewis now calledSearchBar.SideNavigationViewControlleris nowSideNavigationController.- Added public
leftThresholdandrightThresholdtoSideNavigationController(issue-220).
- Added class NavigationBar and NavigationController.
- Added contentsGravityPreset where appropriate, and now contentsGravity takes a String.
- Fixed issue-213,
shadowPathAutoSizeEnablednow defaults to true, from false.
- MaterialAnimation.rotate now accepts an
angleparameter or arotationparameter. - 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
shadowPathAutoSizeEnabledproperty 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
floatingViewControllerproperty. - Added TextField
detailLabelAutoHideEnabledproperty 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
pulsemethod to programmatically trigger the pulse animation. - Updated examples to reflect pulse changes.
- Updated README to reflect pulse changes.
- Removed
pulseFillandspotlightfrom 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.