ButtonBar, FlexibleHeader, HeaderStackView, and NavigationBar are all implementation details of AppBar. While these components can be used on their own, in practice we expect most typical usage to rely on AppBar. FlexibleHeader is a bit blurry in that there is often value in relying on it solely, but because it is not a true concept in the spec and its behavioral demos largely overlap with AppBar's, it is now a dragons demo.
Pivotal story: https://www.pivotaltracker.com/story/show/156982162
All examples now have at least the required `+catalogBreadcrumbs` and `+catalogIsPrimaryDemo`. All examples in the same breadcrumbs path have only one primary demo. There should be only one `-catalogDescription` attached to the primary demo.
Closes#1897
Discussed merge with Ian offline. Issues with Travis CI may be resolved once the PR is merged.
* Add color to tiles.
* Add theming to catalog
* Update text field tile.
* Implementation method signatures should match those in header.
* Update MDCDrawFunc typedef
* Pass color scheme through NSNotification
* Add component theming
* Add tabbar themer
* Update tab example to use UIAppearance
* Theme sliders based on UIAppearance proxy
* Allow any class conforming to MDCColorScheme
* Override navigation bar color theme for imagery example.
* Update AppBar and ButtonBar color theming
* Update button bar themer comment
* Update button theming
* Remove theme imports where not necessary.
* Fix case of private
* Replace MDC all icons
* Update border
* Replace MDCActionExtension icon with new logo
* Update all headers to be white on black
* Make Catalog greyscale to match Material’s style.
* Fix collection tile
* Update all headers to be white on black
* Make Catalog greyscale to match Material’s style.
* Fix collection tile
* WIP: Updating TabBar example to use black/green theme.
* WIP: Monochoroming all examples.
* Switch MDC Catalog to a black and white theme (#1355)
* Replace MDC all icons
* Update border
* Replace MDCActionExtension icon with new logo
* Update all headers to be white on black
* Make Catalog greyscale to match Material’s style.
* Fix collection tile
* Update all headers to be white on black
* Make Catalog greyscale to match Material’s style.
* Fix collection tile
* Fix floats
* Make Catalog greyscale to match Material’s style.
* More black and whiting
* WIP: Snackbar and global style
* Simplify snack bar examples.
* Page control
* Integrate SwiftLint in the Catalog.
* Update the disabled SwiftLint rules.
* Reference a local swiftlint.yml symlink.
This prevents us from getting warnings about code style violations from the other demos.
* Fix SwiftLint violations in the Catalog and Components.
* Ignore the `third_party` directory when running the linter.
We should not have to deal with warnings in code we may not be able to fix easily.
* Integrate SwiftLint into Shrine.
Additionally, fix a number of warnings introduced.
* Run SwiftLint on Travis.
* Enable many of the previously disabled rules and correct them.
* Fix control statement violations from SwiftLint.
* WIP
* WIP
* Simplified build script and fixed it to build all schemes.
* WIP
* Renamed script to build_all and added better output.
* Add scripts/list_xcode_workspaces.
* Filtered out the CocoaPods schemes.
* Use Xcode to update Swift to v3.
* Updated tracked touches map from NSNumber to Int.
* Fixed button sorting that was not actually sorting.
* targetContentOffset no longer allowed to be nil.
* "Fixed" failing test by reducing random number range?
* Swift 3 syntax change.
* Swift 3 syntax change.
* Removed invalid center-aligning tests.
Fixed default nav bar alignment test.
We can credit any contributor who would like to be credited this way, by adding them on request to the AUTHORS file. The copyright statement changes are required for this to work. Note that this has...
Summary:
We can credit any contributor who would like to be credited this way, by adding them on request to the AUTHORS file. The copyright statement changes are required for this to work. Note that this has no legal change, since the contributors always retained their copyright despite the copyright notice, but it's a nice acknowledgement.
Changed copyright statement to include non-Google authors.
Command run:
find * \( -name '*\.m' -or -name '*\.h' -or -name '*\.swift' \) -and -not \( -path 'scripts/external*' -name Pods \) -print0 | xargs -0 sed -i '' 's/Copyright \(.*\) Google Inc/Copyright \1 the Material Components for iOS authors/'
Added non-source files.
Command run:
grep -Rl 'Copyright .* Google Inc' * --exclude-dir scripts/external --null | xargs -0 sed -i '' 's/Copyright \(.*\) Google Inc/Copyright \1 the Material Components for iOS authors/'
Reviewers: featherless, O1 Material components iOS, randallli
Reviewed By: O1 Material components iOS, randallli
Tags: #material_components_ios
Differential Revision: http://codereview.cc/D1415
Summary: "Material design" is not capitalized except when referring to the actual Material Design team at Google.
Reviewers: O1 Material components iOS, randallli
Reviewed By: O1 Material components iOS, randallli
Subscribers: randallli, featherless
Tags: #material_components_ios
Differential Revision: http://codereview.cc/D1306
Summary:
Partially addresses https://github.com/google/material-components-ios/issues/515
It deprecates MDCNavigationBar APIs that used left/right.
Test Plan:
NavigationBar should not have its APIs using left/right lingo. Instead it
should use leading/trailing.
Note that as of this writing, this doesn't address RTL Layout per se. It merely
prepares for layout changes.
Reviewers: featherless, iangordon, O1 Material components iOS, #mdc_ios_owners, ajsecord
Reviewed By: O1 Material components iOS, #mdc_ios_owners, ajsecord
Subscribers: ajsecord
Tags: #material_components_ios
Differential Revision: http://codereview.cc/D863
Summary:
This is necessary because our example resources are contained in a "global" scope (the catalog), so all resource names must be unique.
Closes https://github.com/google/material-components-ios/issues/373.
Reviewers: #mdc_ios_owners, randallli
Reviewed By: #mdc_ios_owners, randallli
Projects: #material_components_ios
Differential Revision: http://codereview.cc/D648
Summary:
The MDCHeaderStackView class lays out a vertical stack of two views.
Both bars provided to this view must implement sizeThatFits and return their best-fit
dimensions.
# Layout Behavior
The layout behavior of the two bars is as follows:
topBar: top aligned, expands to fill all available vertical space not taken up by the bottomBar.
bottomBar: bottom aligned.
If no bottomBar is provided, top bar consumes the entire bounds of the stack view.
When resized, the top bar will shrink until it reaches its sizeThatFits dimensions.
If there is a bottom bar, then at this point the top bar will begin sliding off the top.
If there is no bottom bar, then at this point the top bar will stay put.
At no point in time will either the top or bottom bar shrink below their sizeThatFits height.
# sizeThatFits Behavior
sizeThatFits returns the fitted height for bottom bar if available, otherwise it returns the
fitted height for topBar. The width will be whatever width was provided.
Reviewers: randallli, ajsecord, #mdc_ios_owners
Reviewed By: randallli, ajsecord, #mdc_ios_owners
Subscribers: randallli, ajsecord
Projects: #material_components_ios
Differential Revision: http://codereview.cc/D162