我已经在MaterialComponents on Github上打开了问题,但似乎还没有答案。 问题是当我单击该文本框使其处于活动状态,然后单击外部时,它工作正常,但是当我重复这样做时,该文本框的占位符将始终位于顶部
这是图像的问题
当我们重复单击文本字段然后再次在外部单击时,它将看起来像这样
这是代码:
@IBOutlet weak var textfieldFloating: MDCTextField!
let tf = MDCTextInputControllerOutlined()
override func viewDidLoad() {
super.viewDidLoad()
textfieldFloating.leftView = UIImageView(image: UIImage(named: "ic_lock_outline_white_18pt"))
textfieldFloating.leftViewMode = .always
textfieldFloating.placeholder = "Placeholder"
tf.textInput = textfieldFloating
}
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
self.view.endEditing(true)
}
答案 0 :(得分:0)
我个人会去https://github.com/raulriera/TextFieldEffects CocoaPod它具有许多可以使用的不同样式,最重要的是它非常简单易用。
只需使用pod init
创建一个pod文件
然后添加:
use_frameworks!
pod 'TextFieldEffects'
到您的Pod,并通过pod install
从终端安装。
要使用它:
该库是一个简单的插件,将子类设置为一种效果,将模块设置为TextFieldEffects后,您将能够在情节提要中看到所有IBDesignable设置。
您还可以根据需要在没有情节提要的情况下以编程方式使用它:
let textField = KaedeTextField(frame: textFieldFrame)
textField.placeholderColor = .darkGrayColor()
textField.foregroundColor = .lightGrayColor()
view.addSubView(textField)