62 Commits

Author SHA1 Message Date
Jeff Verkoeyen
e021a66ace Remove all pre-iOS 12 logic.
PiperOrigin-RevId: 401080159
2021-10-05 15:10:04 -07:00
Jeff Verkoeyen
7ed2ed05ec Remove all pre-iOS 12 logic.
PiperOrigin-RevId: 401076088
2021-10-05 14:53:08 -07:00
Randall Li
502bc5d910 Ran a Swift formatter
PiperOrigin-RevId: 395947664
2021-09-10 09:48:14 -07:00
Jeff Verkoeyen
a8e4831fd0 Flattening all unit tests into single directories as per convention.
PiperOrigin-RevId: 367426300
2021-04-08 07:33:29 -07:00
Jeff Verkoeyen
c53f44398e Optimizing imports
PiperOrigin-RevId: 357185618
2021-02-12 07:29:28 -08:00
Bryan Oltman
da4b8f7c7f Fix mdc_elevationDidChangeBlock block parameter types for Xcode 12
PiperOrigin-RevId: 331843566
2020-09-15 13:39:15 -07:00
Cody Weaver
fdf87c5995 [MDC/ColorScheme] Remove usage of init within MDC.
We recommend using `initWithDefaults` and we should follow the recommendation. This change removes all usage of `init` within MDC components in order to let us remove that initializer from the public surface.

PiperOrigin-RevId: 302958447
2020-03-25 13:36:51 -07:00
featherless
9ea7f0d21a
[AppBar] Add a delegate for customizing accessibilityPerformEscape behavior. (#9879)
MDCAppBarViewController has a new delegate property with an optional method, `-appBarViewControllerAccessibilityPerformEscape:`. This method can be implemented to override the default behavior of MDCAppBarViewController when an accessibilityPerformEscape event is received.

Closes https://github.com/material-components/material-components-ios/issues/9576
2020-03-15 09:54:31 -04:00
featherless
c58d4d8abd
[AppBar] Test the UINavigationController accessibilityPerformEscape behavior. (#9876)
Pre-work for https://github.com/material-components/material-components-ios/issues/9576
2020-03-12 13:57:24 -04:00
featherless
85150487fc [AppBar] Always apply the default shadow behavior when theming.
Both Primary and Surface theming are expected to have a shadow when scrolled. See https://material.io/components/app-bars-top/#theming for more details.

This fixes a bug where the AppBar's Primary theming implementation would set a shadow layer that would not react to scrolling.

Example before/after of a Surface-themed app bar (note the darker shadow in alignment with the expected behavior)

| Before | After |
|:--|:--|
| ![before](https://user-images.githubusercontent.com/45670/73462821-5e7b4800-434a-11ea-97e9-b6ed8a05696d.png) | ![after](https://user-images.githubusercontent.com/45670/73462834-61763880-434a-11ea-8114-6712e397fe3d.png) |

Related to https://github.com/material-components/material-components-ios/issues/6332

Closes https://github.com/material-components/material-components-ios/pull/9529

COPYBARA_INTEGRATE_REVIEW=https://github.com/material-components/material-components-ios/pull/9529 from jverkoey:theming 62ba0b8d84b204833164745d823002c3f4faf0eb
PiperOrigin-RevId: 292526419
2020-01-31 05:11:41 -08:00
featherless
53ab07d693
[AppBar] Fix swipe to go back gesture for MDCAppBarNavigationController. (#9448)
https://developer.apple.com/design/human-interface-guidelines/ios/user-interaction/gestures/

"But users can also navigate back by swiping from the side of the screen."

Closes https://github.com/material-components/material-components-ios/issues/9447

Tested manually on:

- iPhone 7, 11.2
- iPhone X, 12.2
- iPhone 8 Plus, 13.2.2

## Testing Steps
1. Set MDCAppBarNavigationController as the root view controller
2. Push a view controller.
3. Swipe from the trailing edge toward the leading edge.

Tested by running the MDCCatalog and verifying that I can swipe to dismiss pushed view controllers on the root navigation controller.
2020-01-22 12:10:58 -05:00
featherless
d0322ef8c2 [AppBar] Rename test cases to match component conventions. (#9038)
Dropping the MDC prefix to match the majority of the other test cases.

Part of https://github.com/material-components/material-components-ios/issues/5185
2019-12-02 08:32:54 -05:00
featherless
ae53242109 [AppBar] Add a shouldSetNavigationBarHiddenHideAppBar behavior flag. (#9001)
This new flag allows view controllers to control the visibility of their app bar via the standard UINavigationController setNavigationBarHidden: APIs. When enabled, calls to these APIs will result in the AppBar's visibility being adjusted.

Closes https://github.com/material-components/material-components-ios/issues/5185
2019-12-02 08:32:13 -05:00
Wenyu Zhang
f791b57597
[AppBar] Add API to auto adjust height based on HeaderStackView for app bar. (#8764)
Part of https://github.com/material-components/material-components-ios/issues/8677.

This API helps to reduce the complexity of calculating minimumHeight and maximumHeight on FlexibleHeader when user wants to update the app bar height based on header stack view.

This flag is required to be set during configuration stage. The reset behavior (turning back to NO) was not implemented because it would require adding API to minMaxHeight class and all configuration needs be to be set before flexible header is used. This feature can be added if needed.
2019-11-12 12:09:04 -05:00
featherless
204c25080d
[AppBar] Hide the navigation bar in MDCAppBarNavigationController's initWithRootViewController API. (#8471)
Closes https://github.com/material-components/material-components-ios/issues/8462
2019-09-20 12:15:00 -04:00
Wenyu Zhang
3565b6506e
[AppBar] Rewrite tests in ObjC to prevent the failing unit tests on iOS 13. (#8253)
closes https://github.com/material-components/material-components-ios/issues/8252

## Context
Error occurs when testing using Bazel.
```
Test Case '-[components_AppBar_unit_test_swift_sources.MDCAppBarNavigationControllerTests testSettingAViewControllerInjectsAnAppBar]' started.
Child process terminated with signal 11: Segmentation fault
```
2019-08-09 09:53:15 -04:00
Bryan Oltman
74a65bc6d0
[AppBar] Set headerView elevation when shadow intensity changes (#8101)
Sets AppBar's headerView elevation to the elevation value computed in the header view's `intensityDidChangeBlock`.

Closes #8029
2019-07-26 17:53:22 -04:00
Cody Weaver
1161a9db98
[FlexibleHeader] Add traitCollectionDidChange block (#7917)
The Flexible needs an API so clients can hook-in to trait collection changes. This additionally passes the flexibleHeader as a parameter so clients can modify the flexible header within the block.
2019-07-15 15:41:22 -07:00
Robert Moore
9bd3a8958d [AppBar] Add defaultTraitCollectionDidChangeBlock for injecting into AppBars. (#7887)
When AppBars are injected into other view controllers, there should be a mechanism by which clients can respond to trait collections changes in those app bars.

Part of #7849
2019-07-11 16:53:24 -04:00
Robert Moore
56e940a972
[AppBar] Provide app bar parameter for traitCollectionDidChange block. (#7888)
Because `MDCAppBarViewController` is often injected into other view controllers, setting these blocks on the injector (*e.g.*, `MDCAppBarNavigationController`) means that the eventual app bar view controller object isn't actually available when the block is written. Instead of assuming access to the object receiving a trait collection change, the block can receive that object directly as a parameter.

Part of #7849
Follow-up to #7851
2019-07-11 11:45:08 -04:00
Robert Moore
97a39fc6dd
[AppBar] Add traitCollectionDidChangeBlock to AppBarViewController. (#7851)
The MDCAppBarViewController needs an API so clients can hook-in to trait collection changes.

Part of #7849
2019-07-10 14:49:10 -04:00
Cody Weaver
bb61b24567
[AppBar] Graduate theming extension to ready (#7182)
## Context
As part of our work to move away from themer objects and onto theming extension we need to graduate all of our components theming extensions to the MaterialComponents pod.

## The fix
This PR updates the AppBar theming extension to the MaterialComponents pod, as well as updating examples and unit test.
2019-04-22 14:13:45 -04:00
Cody Weaver
49bb401d2c
[AppBar]! Rename umbrella header for the theming extension (#7185)
## Context
In working on #7159 I noticed that the umbrella header for the _theming extension_ for [`MDCAppBar`](https://github.com/material-components/material-components-ios/tree/develop/components/AppBar) does not match our convention which is `Material<#componentName>+Theming.h`.

## The fix
Rename this file to use the convention outlined in the design doc. This was a replace of `MaterialTheming.h` -> `Theming.h`. This was done as a move operation and then the unit test were updated.

## Why breaking
This is a breaking change since we are renaming the umbrella header. This will break clients using swift and ObjectiveC. 

#### Swift

```diff
- import MaterialComponents.MaterialAppBar_MaterialTheming
+ import MaterialComponents.MaterialAppBar_Theming
```

#### ObjC

```diff
- #import "MaterialAppBar+MaterialTheming.h"
+ #import "MaterialAppBar+Theming.h"
```
2019-04-19 14:02:39 -04:00
Andrew Overton
b38372192f
Update to Swift 4.2 (#7166)
This PR updates the Swift version to 4.2.

Partially resolves #6874.
2019-04-17 16:59:02 -04:00
featherless
e3b1d17f76
[AppBar] Add support for MDCAppBarNavigationController delegate to pick a tracking scroll view. (#7015)
MDCAppBarNavigationController's tracking scroll view detection uses a depth-first view traversal algorithm to find a tracking scroll view candidate. This logic works most of the time, but there are cases where this algorithm picks up the wrong tracking scroll view. For example, if a horizontally scrollable tab bar has been added to the view controller's view and there is no other scroll view then the tab bar will be picked as the tracking scroll view.

Prior to this change, our recommendation to clients that encountered cases like this was to opt out of the MDCAppBarNavigationController app bar injection logic by creating and managing a custom app bar instance.

After this change, clients will be able to customize the tracking scroll view detection logic. This will reduce the need to opt out of the app bar navigation controller's injection behavior.

This change helps mitigate https://github.com/material-components/material-components-ios/issues/5344

Googlers: this change was instigated by a client integration in [cl/241070130](http://cl/241070130).
2019-04-09 17:02:00 +03:00
Robert Moore
61e6c07f6a
[AppBar] Add theming extension for MDCAppBarViewController (#6903)
Creates a Theming Extension for MDCAppBarViewController for both Primary and Surface variants.

Closes #6866
2019-03-14 21:15:01 -04:00
Yarden Eitan
0b381e191f Revert "[AppBar] Use test Typography scheme (#6692)"
This reverts commit f7bbace1c0403760445ca02af97f171285d8c773.
2019-02-26 11:49:37 -05:00
Robert Moore
f7bbace1c0
[AppBar] Use test Typography scheme (#6692)
Using a test-specific Typography scheme to simplify custom scheme
creation.
2019-02-22 09:44:07 -05:00
Robert Moore
c1b1d25eec
[MDC Swift] Add guards for Swift 4.2+ (#5634)
[MDC Swift] Add guards for Swift 4.2+

On Xcode 10, using Tulsi, the unit test target cannot be built because much of the Swift code does
not have the correct syntax for Swift 4.2+. Adding pragmas to allow continued support for Xcode
9.4.2 and Xcode 10.

PiperOrigin-RevId: 220399935
2018-11-07 08:54:40 -05:00
Robert Moore
675235ed05
{Tests} Deallocate test objects at the end of tests. (#5397)
Deallocating many of the properties created for each unit test. Since all
XCTestCase instances survive until the end of the test suite, any properties
created for a test will be preserved as well. This frees up around 3.7 MB
(~6%) of memory from the entire test suite, as measured on my desktop.

|Before|After|
|----|----|
|![test-objcs-before](https://user-images.githubusercontent.com/1753199/46813473-c3b9bd00-cd44-11e8-990c-28dff4ab5ad2.png)|![test-objcs-after](https://user-images.githubusercontent.com/1753199/46813481-c7e5da80-cd44-11e8-90e4-2e6d532ebbfb.png)|

See also: https://qualitycoding.org/xctestcase-teardown/

Closes #5395
2018-10-12 08:33:58 -04:00
featherless
e4ff45c76e
[AppBar] Delete the deprecated MDCAppBarTextColorAccessibilityMutator API. (#5220)
Closes https://github.com/material-components/material-components-ios/issues/4806
2018-09-25 15:09:42 +03:00
featherless
2181084272
[automated] Standardize our open source license stanza to what Xcode generates. (#4985)
Removes the need to copy-paste stanzas from other files anymore as we'll rely on #4478 to generate the correct stanza for us instead.

This was an automated change generated by running a find-and-replace regular expression:

```
/\*
 Copyright ([0-9]+)-present the Material Components for iOS authors\. All Rights Reserved\.

 Licensed under the Apache License, Version 2\.0 \(the "License"\);
 you may not use this file except in compliance with the License\.
 You may obtain a copy of the License at

 http://www\.apache\.org/licenses/LICENSE-2\.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied\.
 See the License for the specific language governing permissions and
 limitations under the License\.
 \*/
```

```
/\*
Copyright ([0-9]+)-present the Material Components for iOS authors\. All Rights Reserved\.

Licensed under the Apache License, Version 2\.0 \(the "License"\);
you may not use this file except in compliance with the License\.
You may obtain a copy of the License at

http://www\.apache\.org/licenses/LICENSE-2\.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied\.
See the License for the specific language governing permissions and
limitations under the License\.
\*/
```

```
/\*
 Copyright ([0-9]+)-present the Material Components for iOS authors\. All Rights Reserved\.
 Licensed under the Apache License, Version 2\.0 \(the "License"\);
 you may not use this file except in compliance with the License\.
 You may obtain a copy of the License at
 http://www\.apache\.org/licenses/LICENSE-2\.0
 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied\.
 See the License for the specific language governing permissions and
 limitations under the License\.
 \*/
```

```
// Copyright $1-present the Material Components for iOS authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
```
2018-08-31 12:13:07 -04:00
featherless
8444432c4c
[AppBar] Move more app bar logic back to the init phase. (#4749)
2645cc539f6a17e8ecb729a1b5b7997be24f07fa changed the app bar initialization such that it would no longer touch self.view during initialization. This means that viewDidLoad now only gets called when the client adds the app bar view controller's view to the view hierarchy.

A client was depending on the header stack view's `topBar` property being set to the navigation bar immediately after initialization, so the above change broke this contract for them.

This change moves this logic into the app bar view controller's initialization phase so that the header stack view is fully configured upon initialization, renewing the contract that the client team expected.

Added a unit test to ensure that we maintain this contract into the future.
2018-08-09 08:04:21 -04:00
featherless
873a89f3d8
[AppBar] Implement setViewControllers on MDCAppBarNavigationController. (#4736)
Prior to this change, view controllers that were provided to an MDCAppBarNavigationController via the setViewControllers:animated: API would not have an app bar injected.

After this change, MDCAppBarNavigationController will properly inject an app bar into the set view controllers, as expected.

Closes https://github.com/material-components/material-components-ios/issues/4735
2018-08-08 09:40:26 -04:00
featherless
ade5b5daa3
[AppBar] Fix bug where root view controller during initialization of nav controller would not be injected with an App Bar. (#4691)
Verified that the added test fails prior to this change and succeeds after.

Closes https://github.com/material-components/material-components-ios/issues/4688
2018-08-03 09:47:54 -04:00
featherless
e9eb2579aa
[AppBar] Increase likelihood that we detect existing App Bars when auto-injecting. (#4692)
This includes two changes that increase the likelihood of us detecting existing App Bars in a pushed view controller:

1. Some clients manage view controllers in viewDidLoad. We're already accessing .view in the injection logic, but we were not doing so until after the check for an App Bar. We now fetch the view before we check the view controller hierarchy, giving the pushed view controller an opportunity to configure itself before we check for an existing App Bar.
2. There are cases within our own catalog where we have a "nested dolls" of view controllers, i.e. an App Bar in a container inside another view controller. We were not recursing our pre-existing flexible header view controller check, meaning we would miss these deeply-nested view controller cases. This change adds a recursive step to the view controller check.

I verified that the added test fails prior to this change and succeeds after this change.

## Screenshots

Before: 
![simulator screen shot - iphone se - 2018-08-01 at 20 17 06](https://user-images.githubusercontent.com/45670/43597573-730c4e48-9650-11e8-8399-065e1e8b7503.png)

After:
![simulator screen shot - iphone se - 2018-08-01 at 20 16 00](https://user-images.githubusercontent.com/45670/43597576-757cb686-9650-11e8-9205-2fa563110797.png)
2018-08-02 17:01:16 -04:00
featherless
f2d7edb846
[AppBar] Add new MDCAppBarNavigationController API. (#4650)
This new API provides a dead-simple integration path for adding an App Bar to an app. I expect this API to be the dominant way for clients to integrate with the App Bar component.

The existing mechanisms of creating an App Bar (injection and wrapping with a container) are still feasible, and both methods can be used interchangeably with the navigation controller. If the navigation controller detects that a flexible header is already present in a pushed view controller it will not add an App Bar.

As part of this change I also explored simply providing a UINavigationControllerDelegate that responded to the willShow event. This approach had the following limitations:

- I did not see a clear path to properly supporting status bar styles. Properly supporting status bar styles requires that somebody, at some point in the hierarchy, is able to route status bar style queries to the flexible header view controller. A delegate lacks this facility.
- The willShow event is fired after the viewWillAppear: event fires, meaning we had to simulate the invocation of this on the injected view controllers. This required that we recursively traverse the App Bar's flexible header view controller and its children (in order to also notify the app bar's internal view controller of the viewWillAppear event). I was concerned that the requirement for this patch would lead to unexpected behavior down the road.

As a result of encountering the above limitations, I pivoted to providing a concrete UINavigationController subclass. I have been hesitant to provide this class for some time because of a very colorful history of supporting similar APIs over the last half decade. At this point, however, I feel that the number of behavioral APIs we've landed allow us to implement the navigation controller with minimal logic, keeping the implementation as simple as possible.

Notably, users of the new app bar navigation controller API will benefit from all injected App Bars having all of the most "modern" APIs enabled because this is a new API. This means that the scroll view's content offset is observed, it respects safe area insets based on the context, and the content view controller's top layout guide / safe area insets accurately reflect the space consumed by the flexible header.

Example usage:

```swift
let navigationController = MDCAppBarNavigationController()
navigationController.pushViewController(viewController, animated: true)
```

If you want to be able to theme the injected App Bar then you'll need to implement the navigation controller's delegate and respond to the willAdd events, like so:

```swift
// MARK: MDCAppBarNavigationControllerInjectorDelegate

func appBarNavigationController(_ navigationController: MDCAppBarNavigationController,
                                willAdd appBar: MDCAppBar,
                                asChildOf viewController: UIViewController) {
  MDCAppBarColorThemer.applySemanticColorScheme(AppTheme.globalTheme.colorScheme, to: appBar)
  MDCAppBarTypographyThemer.applyTypographyScheme(AppTheme.globalTheme.typographyScheme,
                                                  to: appBar)
}
```

Closes https://github.com/material-components/material-components-ios/issues/268
2018-07-31 10:26:27 -04:00
featherless
76a5c1e688
[AppBar] Add an inferTopSafeAreaInsetFromViewController behavior. (#4648)
This behavior enables the similarly-named behavior added to the Flexible Header in bb245597d8895a78c346c76f7d0986d7a993ad12. In addition to allowing the flexible header's min/max height to use the contextual safe area insets, the App Bar will use the flexible header view's top safe area guide to position its header view (rather than using MDCDeviceSafeAreaInsets(), which we want to remove).

This change enables the new behavior in the App Bar examples and in the MDCCatalog node list view controller.

Closes https://github.com/material-components/material-components-ios/issues/4104
2018-07-30 10:42:07 -04:00
featherless
de0d57e8e3
[NavigationBar] Remove NSCoding support. (#4560)
Closes https://github.com/material-components/material-components-ios/issues/3944
2018-07-16 08:33:49 -04:00
featherless
a7dd419ebe
[FlexibleHeader] Remove NSCoding support. (#4554)
Closes https://github.com/material-components/material-components-ios/issues/3946
2018-07-16 08:05:01 -04:00
featherless
9707aec0fd
[AppBar] Implement topLayoutGuideAdjustmentEnabled on the app bar container. (#4370)
This mimics the behavior of the flexible header container view controller introduced in 80fd217f766e0f5be6a3bc6bef5923f231721f9d. Notably, this allows content view controllers that are wrapped by an App Bar to make proper use of the top layout guide and additional safe area insets APIs.

Blocked by https://github.com/material-components/material-components-ios/pull/4354

Closes https://github.com/material-components/material-components-ios/issues/2540

## Screenshots

Before:

![before](https://user-images.githubusercontent.com/45670/41035558-0456d42c-695b-11e8-8071-62e174d8d90e.png)

After:

![after](https://user-images.githubusercontent.com/45670/41035560-06708b9a-695b-11e8-9231-f96ea34caea9.png)
2018-06-06 13:29:10 -04:00
featherless
09c3a65e6e
[AppBar] Add umbrella headers for all extension targets. (#3458)
Also updated all imports to make use of the umbrella headers.

Pivotal story: https://www.pivotaltracker.com/story/show/157045283
2018-04-24 10:21:00 -04:00
featherless
bd05a69c88
[NavigationBar] Fix the surface variation themer's text/icon colors to match spec. (#3416)
For the variant themer, text is supposed to be onSurface @ 87% opacity, while icons are onSurface @ 54% opacity.

Closes pivotal story: https://www.pivotaltracker.com/story/show/156934328
Closes pivotal story: https://www.pivotaltracker.com/story/show/156934114

Before:

![simulator screen shot - iphone se - 2018-04-19 at 21 04 58](https://user-images.githubusercontent.com/45670/39065696-aa4df430-44a0-11e8-897f-3bc71b8b4c7e.png)

After:

![simulator screen shot - iphone se - 2018-04-19 at 21 04 03](https://user-images.githubusercontent.com/45670/39065699-ad47ffaa-44a0-11e8-9a40-e2d2cb92f908.png)
2018-04-20 15:15:23 -04:00
featherless
90ec60ed84
[AppBar] Add surface variant color themer API. (#3383)
Pivotal story: https://www.pivotaltracker.com/story/show/156814443

![simulator screen shot - iphone se - 2018-04-17 at 16 22 19](https://user-images.githubusercontent.com/45670/38894553-89099596-425b-11e8-97dc-dd7d00bf348b.png)
2018-04-18 14:30:47 -04:00
featherless
ab8c104262
[AppBar] Add a Typography themer. (#3359)
Pivotal story: https://www.pivotaltracker.com/story/show/156769436

Before: 
![before](https://user-images.githubusercontent.com/45670/38753386-2bba1988-3f2c-11e8-9689-e18b9559816e.png)

After:
![simulator screen shot - iphone 8 plus - 2018-04-13 at 15 05 25](https://user-images.githubusercontent.com/45670/38753374-22f89e14-3f2c-11e8-8223-a125c1ec9910.png)
2018-04-13 17:23:16 -04:00
featherless
e68eda7c8c
[AppBar] Color Themer now composes to the FlexibleHeader and NavigationBar color themers. (#3210)
This ensures that we're not duplicating the sub-component themer logic.

Also added a unit test to ensure that the desired mappings do take effect.

Closes pivotal story: https://www.pivotaltracker.com/story/show/156438987
2018-04-02 14:23:44 -04:00
Mohammad Cazi
b4491c9c9a [MDCAppBar]Support NSSecureCoding for App bar. (#2959)
* Support NSSecureCoding for App bar.

* subclasses should be have secure encoding as well.

* Adding NSSecureCoding to objects under MDCAppBar.

* added more tests for encoding MDCAppBar
2018-02-23 11:47:48 -05:00
Robert Moore
6469c85b04 [AppBar] Add BUILD file (#2699)
* [AppBar] Add BUILD file

* Fixing swift import

* Fixing remaining imports
2017-12-14 00:45:00 -05:00
Justin Shephard
c694092520 [AppBar] - Accessibility Mutator (#1236)
* MDC_#702 - Start to implement accessibility configurator

* MDC_#702 - Implemented configurator method to modify accessibility colors to app bar and implemented example use

* MDC_#702 - Updated examples

* MDC_#702 - Updated naming convention

* MDC_#702 - Readability

* MDC_#702 - Updated pod spec to include new class MDCAppBarAccessibilityEnforcer, started adding tests, updated examples to new use class

* MDC_#702 - Stubbed out tests

* MDC_#702 - Re-implemented MDCAppBarAccessibilityEnforcer as object within AppBar component

* Filled in additional tests

* MDC_#702 - Updated method name

* MDC_#702 - Updated test cases

* MDC_#702 - Update added test to Swift 3.0

* [AppBar] - Update accessibility mutator class

* [AppBar] - Updated text selection in mutator method

* [AppBar] - Removed init method per comment

* [AppBar] - Updated colors in AppBar demo examples
2017-07-13 10:01:03 -04:00
ianegordon
2ce144abd0 Fix warnings uncovered by the Xcode 8.3 static analyzer (#1298)
* Fix warnings from the 8.3 static analyzer

* Revert scheme change

* Revert Scheme change

* Additional warning fixes

* Revert Scheme Changes
2017-04-03 20:21:31 -04:00