blob: ed88c7fdea13cd41bdc5f896280d908de27a7fcc [file] [log] [blame] [edit]
// Copyright 2020-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 <UIKit/UIKit.h>
#import "MaterialTextControls+BaseTextFields.h"
/**
An implementation of a Material filled text field.
*/
__attribute__((objc_subclassing_restricted)) @interface MDCUnderlinedTextField : MDCBaseTextField
/**
MDCUnderlinedTextField does not support UITextBorderStyle borders.
*/
@property(nonatomic, assign) UITextBorderStyle borderStyle NS_UNAVAILABLE;
/**
The thickness of the underline that shows in the normal and disabled states. The default is 1.
*/
@property(nonatomic, assign) CGFloat normalUnderlineThickness;
/**
The thickness of the underline that shows in the editing state. The default is 2.
*/
@property(nonatomic, assign) CGFloat editingUnderlineThickness;
/**
Sets the normal underline thickness.
@param thickness The thickness of the underline.
@param animated Determines whether or not the change is animated.
*/
- (void)setNormalUnderlineThickness:(CGFloat)thickness animated:(BOOL)animated;
/**
Sets the editing underline thickness.
@param thickness The thickness of the underline.
@param animated Determines whether or not the change is animated.
*/
- (void)setEditingUnderlineThickness:(CGFloat)thickness animated:(BOOL)animated;
/**
Sets the underline color for a given state.
@param underlineColor The UIColor for the given state.
@param state The MDCTextControlState.
*/
- (void)setUnderlineColor:(nonnull UIColor *)underlineColor forState:(MDCTextControlState)state;
/**
Returns the underline color for a given state.
@param state The MDCTextControlState.
The default values are sensible shades of black.
*/
- (nonnull UIColor *)underlineColorForState:(MDCTextControlState)state;
@end