Swift: MaterialComponents TextFields Неожиданное поведение заполнителя при быстром нажатии - PullRequest
0 голосов
/ 01 октября 2018

У меня уже есть проблема на MaterialComponents на Github , но пока нет ответа.Проблема в том, что когда я щелкаю по текстовому полю, чтобы активировать его, я нажимаю снаружи, он работал нормально, но когда я повторяю это, заполнитель для текстового поля всегда будет сверху

Вот проблема, какimage

Когда текстовое поле загружено: enter image description here

Когда текстовое поле активно: enter image description here

Когда мы повторяем, нажмите натекстовое поле, затем щелкните снаружи снова, это будет выглядеть так enter image description here

Вот код:

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

1 Ответ

0 голосов
/ 11 октября 2018

Я бы лично выбрал https://github.com/raulriera/TextFieldEffects CocoaPod, в котором есть много разных стилей, которые вы можете использовать, и, самое главное, это очень просто использовать.

просто создайте файл pod сpod init затем добавьте это:

use_frameworks!
pod 'TextFieldEffects'

к своим модулям и установите его с pod install от терминала.

Чтобы использовать это:

Библиотека простав раскрывающемся списке, как только вы установите для своего подкласса один из эффектов, а для вашего модуля - TextFieldEffects, вы сможете увидеть все параметры IBDesignable в раскадровке.

Вы также можете использовать его программно без раскадровок, так какВы желаете:

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

view.addSubView(textField)
...