如何在MDCTextField上设置插入符光标颜色?

时间:2017-10-17 14:02:22

标签: ios material-components

我使用MDCTextInputControllerFilled并设置activeColor属性会更改下划线和浮动占位符。但是,我找不到设置闪烁光标颜色的方法,默认情况下它是蓝色。 有没有办法改变颜色?

5 个答案:

答案 0 :(得分:1)

由于MDCTextFieldUITextField的子类,因此您应更改tintColor属性以更改光标的颜色:

mdcTextField.tintColor = .red

答案 1 :(得分:1)

我遇到了同样的问题,并通过子类化MDCTextField并覆盖layoutSubviews来改变tintColor,只有在布局视图后才能解决它。这对我有用。

例如:

AppaceaTextField.h

#import "MaterialTextFields.h"
@interface AppaceaTextField : MDCTextField
@end

AppaceaTextField.m

#import "AppaceaTextField.h"
@implementation AppaceaTextField
- (void) layoutSubviews{
    [super layoutSubviews];
    self.tintColor = [UIColor redColor];
}
@end

希望有所帮助!

答案 2 :(得分:1)

感谢您使用MDC-iOS。

光标颜色刚刚added作为MDCTextField(.cursorColor)上的参数。

它包含在38.1.0版本中。

答案 3 :(得分:0)

试试这个

override func viewDidLoad() {
    super.viewDidLoad()

     textfield.tintColor = .red

 }

答案 4 :(得分:0)

其他的都试过了。除了这个没有任何作用:

let colorScheme = MDCSemanticColorScheme()
colorScheme.primaryColor = .systemBlue // <-- This works in my case
colorScheme.errorColor = .systemRed

let container = MDCContainerScheme()
container.colorScheme = colorScheme

let textField = MDCTextField()
let controller = MDCTextInputControllerUnderline(textInput: textField)
controller.applyTheme(withScheme: scheme)

上下文:

pod 'MaterialComponents/TextFields', '~> 104.0.1'
pod 'MaterialComponents/TextFields+Theming', '~> 104.0.1'