material-components_materia.../components/FeatureHighlight/examples/FeatureHighlightTypicalUseViewController.m
Sam Morrison d4806473e4 MDCFeatureHighlightViewController implementation (#765)
* API Review for Feature Highlight component

Summary:
This is the proposed API for the Feature Highlight component.

For more info see the following links:
Design spec: https://material.googleplex.com/growth-communications/feature-discovery.html#feature-discovery-design
Tracking bug: b/30695049

Example usage
```
MDCFeatureHighlightViewController *vc = [[MDCFeatureHighlightViewController alloc] init];
vc.delegate = self;
vc.hintTitleText = @"...";
vc.hintBodyText = @"...";
[vc highlightView:_button];
[self presentViewController:vc animated:animated completion:completion];
```
In the delegate:
```
- (void)featureHighlightWasAccepted:(MDCFeatureHighlightViewController *)highlight {
  // do accepted things here
  [self dismissViewControllerAnimated:YES completion:nil];
}
- (void)featureHighlightWasIgnored:(MDCFeatureHighlightViewController *)highlight {
  // do ignored things here
  [self dismissViewControllerAnimated:YES completion:nil];
}
```

Reviewers: ajsecord, featherless, iangordon, O1 Material components iOS, randallli

Reviewed By: ajsecord, featherless, iangordon

Subscribers: randallli, iangordon, featherless, ajsecord

Tags: #material_components_ios

Differential Revision: http://codereview.cc/D1465

* Add MDCFeatureHighlightViewController

* Add Feature Highlight typical use

* Get Feature Highlight buildable

* Copy functionality over from prototype

* Accept/Reject highlight with animation

* Rotation

* Tap anywhere in the feature highlight typical use case demo to move the button

* Align highlight center and highlight point

* Layout text correctly

* Use sample text

* Use animated transitioning delegate for presentation and dismissal animations

* Clean up presentation + dismissal animation code

* Move intructional text behind button

* Limit width of text in feature highlight

* Layout text relative to center when noncentered

* Fix rotation

* First pass at feature highlight color example

* Properly map the inner and outer colors to the view

* Use correct license header

* Automatically choose text color based on outer highlight color

* Clean up color usage

* wrap long lines

* Clean up title positioning

* Clean up radius calculation

* Constize values

* Add feature highlight nav bar example

* Move examples up a directory

* Remove nav bar example

* Improve outer highlight color docs and implementation

* Add TODO: Mask the labels during the presentation and dismissal animations.

* Clean up feature highlight view

* Clean up feature highlight examples

* Layout feature highlight labels with support for RTL

* Code review improvements

* Clean up feature highlight samples

* Feature Highlight readme

* Update Podfile.lock for Feature Highlight

* Feature highlight readme improvements
2016-10-28 10:44:31 -04:00

33 lines
1.2 KiB
Objective-C

/*
Copyright 2016-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.
*/
#import "FeatureHighlightExampleSupplemental.h"
#import "MaterialFeatureHighlight.h"
@implementation FeatureHighlightTypicalUseViewController
- (void)didTapButton:(id)sender {
MDCFeatureHighlightViewController *vc =
[[MDCFeatureHighlightViewController alloc] initWithHighlightedView:_button
completion:nil];
vc.titleText = @"Hey a title";
vc.bodyText = @"This is the description of the feature highlight view controller.";
[self presentViewController:vc animated:YES completion:nil];
}
@end