16 Commits

Author SHA1 Message Date
Nobody
87c8968e66 Updating BottomSheet examples organization
PiperOrigin-RevId: 315266913
2020-06-08 07:03:09 -07:00
Randall Li
da90ed6640 [MDCBottomSheet] Better logging output in example.
PiperOrigin-RevId: 308843160
2020-04-28 10:01:41 -07:00
Yarden Eitan
405fcd3b3c [BottomSheet] Additional API providing callbacks for sheet offset and current state changes. (#7275)
Additional API to the MDCBottomSheetControllerDelegate delegate, allowing clients to conform to the delegate and get callbacks for:
1. The offset of the sheet changes in respect to the top of the screen in points.
2. The state of the sheet changes to one of the possible states of type MDCSheetState.

This has been tested on examples to check for correctness of values and that the methods are called appropriately once the controller conforms to the protocol.

Additional unit tests have been written to test that the added delegate methods are rightly called when the value changes and a callback needs to be made.

Resolves: #7227
2019-04-26 01:08:38 -04:00
Robert Moore
800188a649
{clang-format} Format the components. (#6347)
This is a follow-up to https://github.com/material-components/material-components-ios/pull/6027

```
find components \( -name "*.h" -or -name "*.m" \) | xargs clang-format -i
```
2019-01-23 11:08:43 -05:00
Yarden Eitan
66b9afbdaf
[BottomSheet] Integrating the BottomSheet shape themer in the example (#5078)
Addition of the BottomSheet shape themer as part of the typical bottom sheet example. Resolves #5051 

![bottomsheetgif](https://user-images.githubusercontent.com/4066863/45319058-b8d4f800-b50c-11e8-9c75-6bf6d1d4cff5.gif)
2018-09-10 22:00:55 -04: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
50e1fd091d
[Catalog] Conversion to new App Bar View Controller API (#4696)
This PR updates the catalog to use the new MDCAppBar API throughout.
2018-08-07 09:30:37 -04:00
Robert Moore
24ddf9c4d6
[BottomSheet] Examples support accessible scrim (#4711)
The BottomSheet scrim (dimmed background overlay) can function as a button for
UIAccessibility features. This allows a discoverable close/dismiss function
for users. Turning this feature on by default in the catalog to showcase that
it is recommended.

Related to #4275
2018-08-06 15:10:55 -04:00
featherless
abae199d71
[Catalog] Enable AppBar's isTopLayoutGuideAdjustmentEnabled in all examples. (#4537)
This enables the new FlexibleHeader/AppBar behavior that correctly updates the content view controller's safe area insets/top layout guide to match the flexible header's height and sets the frame of the content view controller to match the bounds of the container view controller.

As part of this change, we were able to remove the Catalog logic that would manually adjust the frame of examples that did not have a scroll view. Examples are now expected to adjust their content according to the top layout guide / safe area insets, as can be seen in the ButtonsTypicalUse example.

Examples that *do* have a scroll view will also now make use of the correct top layout guide / safe area insets behavior. This behavioral change can most notably be seen in the ActivityIndicator example, which no longer has a 20 point "dead zone" above the table view.
2018-07-12 15:43:53 -04:00
featherless
0575212f1c
[BottomSheet] Add an app bar to the typical use example. (#4268)
Closes https://github.com/material-components/material-components-ios/issues/4236

![example](https://user-images.githubusercontent.com/45670/40505345-ebb13a00-5f61-11e8-89d7-c51d9e45150a.gif)
2018-05-24 15:38:16 -04:00
Ian Gordon
4f940e8cb1 Revert "[BottomSheet] Convert to Material Motion. (#2400)"
This reverts commit c9ef0366c1525be0f5c384cf90703ab73dbcf3e3.
2018-02-25 13:10:33 -05:00
Yurii Samsoniuk
2a96682230 Replace unnecessary imports with forward declarations (#2429)
* [Themes] Remove unnecessary imports.

* [TextFields] Remove unnecessary imports.

* [Typography] Do not use an umbrella header inside of a component.

* [Snackbar] Do not use self umbrella header.

* [ActivityIndicator] Do not use self umbrella header.

* [AppBar] Use umbrella headers.

* [AppBar] Remove self import header.

* [ButtonBar] Removed self umbrella header imports.

* [Buttons] Removed self umbrella header imports.

* [Collections] Update imports.

* [Dialogs] Moved import into an m file.

* [Collections] Fixed imports.

* [FeatureHighlight] Removed self umbrealla imports.

* [HeaderStackView] Reordered imports.

* [Ink] Replaced imports with forward declarations.

* [Slider] Replaced self umbrella import use.

* [Snackbar] Removed self umbrella header import.

* [Tabs] Changed math import. Replaced self umbrella header import.

* [Icons] Removed unnecessary imports.

* [Overlay] Replaced umbrella header import.

* [ShapeLibrary] Replace Shapes imports with an umbrella header.

* [Shapes] Replaced imports with forward declarations.

* [AppBar] Replace import with a forward declaration.

* [Examples] Updated imports.

* Fixed conflicting imports

* Added space between different import categories
2017-11-16 18:25:06 -05:00
featherless
c9ef0366c1
[BottomSheet] Convert to Material Motion. (#2400)
* Convert.

* Remove hard toss.

* Remove local dependency on transitioning.

* Bump version.

* Remove deprecation.

* Fix headers.

* Stop animations when gestures start.

* Update dependencies.

* CGRect.
2017-11-15 18:22:45 -05:00
featherless
d30b396671
[BottomSheet] Add a trackingScrollView API to the bottom sheet controller. (#2420)
This API allows clients to specify which view should be considered as the tracking scroll view for the bottom sheet gestural behaviors.

The API name is consistent with the FlexibleHeader component's similar API.
2017-11-14 12:56:47 -05:00
Andrés
c6e8803c86 [BottomSheet] Safe Area fixes (#2392)
* [BottomSheet] iPhone X fixes

* [BottomSheet] Use CGRectGetHeight()

* Review

* CGRectGetHeight
2017-11-14 08:26:15 -05:00
Sam Morrison
681b2de2fd [Bottom sheet] component (#1297)
* First bottom sheet commit

* Add empty files of needed classes

* Do animation using presentation controller and transitioning delegate

* Implement bottom sheet transition using just a UIPresentationController

* Tap background to dismiss

* Clean up and document bottom sheet interface

* Minor cleanup

* Fix usePreferredHeight

* Toggle usePreferredHeight

* Let UIPresentationController layout sheet view

* Expand bottom sheet delegate api

* Remove automaticallyDismissBottomSheet and usePreferredHeight

* Remove shouldDismiss

* Delegate method docs

* Allow custom bottom sheet widths

* Animate sheet view to new frame when rotating bottom sheet

* Fix sheet view starting in bad location

* Specify float for background color

* Clean up bottom sheet presentation controller

* Minor cleanup

* Copy cl/148818444

* GOO -> MDC

* s/draging/dragging/

* Use init instead of initWithCoder

* Bottom sheet example description

* Big improvements to bottom sheet examples

* MDCBottomSheetTransitionController

* Wrap up everything in MDCBottomSheetViewController

* Move all examples to MDCBottomSheetViewController

* Move supplemental code to BottomSheetSupplemental

* bottomSheetPresentationControllerDidDismissBottomSheet

* Check delegate implements methods before calling

* MDCBottomSheetViewController -> MDCBottomSheetController

* Add comments for MDCBottomSheetController

* Use MDCMath

* Change style of preferredContentSize setter

* Support preferredContentSize.height

* Add an example layed out using Autolayout

* More correctly set frame for non scrolling content

* Minor improvements to examples

* Small fixes for examples

* Use umbrella import headers

* Show custom preferredContentSize width in example

* MDCBottomSheetTransitionController now vends a presentation controller

* Expose bottom sheet presentation controller on UIViewController

* Final review comments
2017-06-21 15:51:35 -04:00