Mohammad Cazi fa6a2f67d6 [FeatureHighlight] Accessibility title and body mutator added to fix UIAppearance issue (#3043)
* Extracting Accessibility out of FeatureHighlightViewController to a mutator.
Tests added.
Example updated.

* Added the new folder to pod setting.

* Splitting Title and Body Mutators, added tests for case of nil color.

* extra lf.

* Options is now a variable that can be given to the mutator.

* Fixing unit test issues, Updating all examples.

* Fixing Build file.

* Fixing build file.

* build file fix

* extra pace in the build file

* Revert "extra pace in the build file"

This reverts commit 18195fc893da2bcef7f8ef21f20b9f016b6c6011.

* extra space.

* cleaning up based on PR feedback.

* call super on setup and teardown.

* has to include to folder.

* build file indentation and variable name fixes.

* added color test.

* Document the test

* Made single method for accessibility.

* removing option input from public API.

* improving tests and documentation.

* putting this change in a separate PR.
2018-03-13 12:14:43 -04:00

70 lines
2.9 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 "MDCFeatureHighlightAccessibilityMutator.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];
[MDCFeatureHighlightAccessibilityMutator mutate:vc];
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