7

我已经在 Github 上的 MaterialComponents 上打开了这个问题,但似乎还没有答案。问题是当我单击要激活的文本字段然后单击外部时,它工作正常但是当我重复这样做时,文本字段的占位符将始终位于顶部

这是图像的问题

当文本字段确实加载时: 在此处输入图像描述

当文本字段处于活动状态时: 在此处输入图像描述

当我们重复单击文本字段然后再次单击外部时,它将如下所示 在此处输入图像描述

这是代码:

@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)
    }
4

1 回答 1

0

我个人会去https://github.com/raulriera/TextFieldEffects CocoaPod 它有很多不同的样式可供您使用,最重要的是它非常简单易用。

只需创建一个 pod 文件,pod init 然后添加以下内容:

use_frameworks!
pod 'TextFieldEffects'

到您的 pod 并pod install从终端安装它。

要使用它:

该库是一个简单的插件,只要您将子类设置为其中一个效果并将模块设置为 TextFieldEffects,您将能够在情节提要中看到所有 IBDesignable 设置。

您还可以根据需要以编程方式使用它而无需情节提要:

let textField = KaedeTextField(frame: textFieldFrame)
textField.placeholderColor = .darkGrayColor()
textField.foregroundColor = .lightGrayColor()

view.addSubView(textField)
于 2018-10-11T10:40:39.437 回答