gpt4 book ai didi

swift - 设置错误文本时 Material 文本字段崩溃

转载 作者:行者123 更新时间:2023-11-28 11:37:04 24 4
gpt4 key购买 nike

我正在使用 Material 设计的 CosmicMind 库,我正在尝试设置基本的 textfields 并进行一些错误检查,但文档不是很好。

我已将我的文本字段设置如下:

@IBOutlet weak var userNameField: ErrorTextField!

userNameField.placeholder = "Enter Username"
userNameField.delegate = self
userNameField.error = "Text is too long" // App Crashes here
userNameField.errorColor = Color.red.base

应用因 EXC_BAD_ACCESS 而崩溃

我这样验证我的字段:

func textField(textField: TextField, didChange text: String?) {

if textField == userNameField {

if validateUsername(text: textField.text!) {
userNameField.isErrorRevealed = true
} else {
userNameField.isErrorRevealed = false
}
}
}

即使我删除该行,应用程序也会在 userNameField.isErrorRevealed = true 上崩溃。

最佳答案

我使用您正在使用的相同库创建了以下代码,它们运行良好。我以编程方式创建了 textField

import UIKit
import Material

class ViewController: UIViewController {

fileprivate var emailField: ErrorTextField!

override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = Color.grey.lighten5

emailField = ErrorTextField()
emailField.placeholder = "Email"
emailField.error = "Text is too long"
emailField.delegate = self

self.view.layout(emailField).height(40).width(200).centerVertically().centerHorizontally()
}
}

extension ViewController: TextFieldDelegate {

public func textFieldDidEndEditing(_ textField: UITextField) {
(textField as? ErrorTextField)?.isErrorRevealed = false
}

public func textFieldShouldClear(_ textField: UITextField) -> Bool {
(textField as? ErrorTextField)?.isErrorRevealed = false
return true
}

func textFieldShouldReturn(_ textField: UITextField) -> Bool {
(textField as? ErrorTextField)?.isErrorRevealed = true
return true
}
}

查看此示例项目:Sample Project

希望对您有所帮助。

关于swift - 设置错误文本时 Material 文本字段崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54837516/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com