【问题标题】:MDCTextInputController error messages cover entered textMDCTextInputController 错误消息涵盖输入的文本
【发布时间】:2019-07-20 01:50:58
【问题描述】:

使用material-components/material-components-ios v85.8.0

import MaterialComponents

....

var usernameTextField = MDCTextField()
var userNameTextLayout = MDCTextInputControllerUnderline()
usernameTextField = {
    let usernameTextEdit = MDCTextField()
    usernameTextEdit.translatesAutoresizingMaskIntoConstraints = false
    usernameTextEdit.clearButtonMode = .unlessEditing
    usernameTextEdit.backgroundColor = .white
    return usernameTextEdit
}()
userNameTextLayout.textInput = usernameTextField
userNameTextLayout.placeholderText = "Username"
// add to view
....

private func isUserNameValid() -> Bool {
    let enteredUsername = usernameTextField.text ?? ""
    if (!enteredUsername.isValidEmail) {
        userNameTextLayout.setErrorText("Invalid e-mail address",
                                        errorAccessibilityValue: nil)
        return false
    }
}

错误消息覆盖了输入的文本,看起来很糟糕:

然而,Android 材料设计确实将错误置于以下行:

想知道是否有办法做到这一点,或者我做错了。

我按照他们的教程进行操作:https://codelabs.developers.google.com/codelabs/mdc-101-swift/#2

【问题讨论】:

    标签: ios swift textfield material-components-ios


    【解决方案1】:

    我将 MDCTextField 的高度设置得太小了。在将它从 50->80pts 增加时,它成功了,并将错误消息移到了该行的下方。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-27
      • 2015-10-10
      • 1970-01-01
      相关资源
      最近更新 更多