material-components_materia.../components/TextControls/examples/MDCTextControlTextFieldsStoryboardExample.swift
Andrew Overton 95889abf03
[TextControls] Add swift storyboard example (#9328)
This PR adds a Swift storyboard example for TextControls.

Here is a screenshot:

![Simulator Screen Shot - iPhone 7 - 2019-12-20 at 15 15 17](https://user-images.githubusercontent.com/8020010/71290693-7b316280-233e-11ea-9029-4097a4d12c46.png)

Closes #9328.
2019-12-27 12:48:00 -05:00

71 lines
2.1 KiB
Swift

// Copyright 2019-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 MaterialComponents.MaterialTextControls
import MaterialComponents.MaterialTextControls_Theming
import UIKit
/// This example showcases how to use an MDCTextControl with a storyboard.
final class MDCTextControlTextFieldsStoryboardExample: UIViewController {
//MARK: Properties
@IBOutlet weak var filledTextField: MDCFilledTextField!
@IBOutlet weak var outlinedTextField: MDCOutlinedTextField!
@objc var containerScheme: MDCContainerScheming = MDCContainerScheme()
//MARK: Object Lifecycle
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
deinit {
NotificationCenter.default.removeObserver(self)
}
//MARK: View Lifecycle
override func viewDidLoad() {
super.viewDidLoad()
setUpTextFields()
}
//MARK: Setup
func setUpTextFields() {
filledTextField.label.text = "label text"
filledTextField.placeholder = "placeholder text"
filledTextField.applyTheme(withScheme: containerScheme)
outlinedTextField.label.text = "label text"
outlinedTextField.placeholder = "placeholder text"
outlinedTextField.applyTheme(withScheme: containerScheme)
}
}
/// This extension implements a CatalogByConvention method
extension MDCTextControlTextFieldsStoryboardExample {
@objc class func catalogMetadata() -> [String: Any] {
return [
"breadcrumbs": ["Text Controls", "MDCTextControl TextFields (Storyboard)"],
"primaryDemo": false,
"presentable": false,
"storyboardName": "MDCTextControlTextFieldsStoryboardExample"
]
}
}