ianegordon fcf9712d32
[FeatureHighlight] Add custom font support (#2701)
* [FeatureHighlight] Add custom fonts

* Utilize MDCTypography if custom. Add sample.

* Remove extra method

* [FeatureHighlight] Add custom font tests

* Scale MDCTypography defaults if dynamic type is enabled

* Feedback
2017-12-14 08:46:56 -05:00

68 lines
2.8 KiB
Objective-C

/*
Copyright 2017-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 "MaterialButtons.h"
#import "MaterialFeatureHighlight.h"
#import "MaterialTypography.h"
#import "supplemental/FeatureHighlightExampleSupplemental.h"
@implementation FeatureHighlightCustomFontsExample
- (void)viewDidLoad {
[super viewDidLoad];
// You would normally set your UIAppearance properties in your AppDelegate in
// applicationDidFinishLoading. We are doing it here to keep the revalent
// code in the sample.
// Once this code has been executed ALL MDCFeatureHighlightView's will have the following
// titleFont and bodyFont unless they are explicitly set.
// See Apple > UIKit > UIAppearance
// https://developer.apple.com/documentation/uikit/uiappearance
[MDCFeatureHighlightView appearance].titleFont = [UIFont fontWithName:@"Zapfino" size:14.0];
[MDCFeatureHighlightView appearance].bodyFont = [UIFont fontWithName:@"Chalkduster" size:12.0];
self.view.backgroundColor = [UIColor whiteColor];
self.infoLabel = [[UILabel alloc] initWithFrame:CGRectZero];
self.infoLabel.text = @"Tap on the button below.";
self.infoLabel.font = [UIFont mdc_standardFontForMaterialTextStyle:MDCFontTextStyleCaption];
self.infoLabel.textColor =
[self.infoLabel.textColor colorWithAlphaComponent:[MDCTypography captionFontOpacity]];
[self.view addSubview:self.infoLabel];
self.button = [[MDCRaisedButton alloc] init];
[self.button setBackgroundColor:[UIColor colorWithWhite:0.1f alpha:1]];
[self.button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
[self.button setTitle:@"Action" forState:UIControlStateNormal];
[self.button sizeToFit];
[self.button addTarget:self
action:@selector(didTapButton:)
forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:self.button];
}
- (void)didTapButton:(id)sender {
MDCFeatureHighlightViewController *vc =
[[MDCFeatureHighlightViewController alloc] initWithHighlightedView:_button
completion:nil];
vc.titleText = @"Feature Highlight can use custom fonts";
vc.bodyText = @"The title and body font can be set individually.";
[self presentViewController:vc animated:YES completion:nil];
}
@end