gpt4 book ai didi

swift - 在 Swift 的 NSTextfield 中设置最大字符数(为一个)

转载 作者:搜寻专家 更新时间:2023-11-01 05:50:39 26 4
gpt4 key购买 nike

如何在 Swift 中将多个 NSTextfields(OSX cocoa 应用程序,而非 iOS)中的最大字符数设置为一个?

请解释如何去做,因为在 OSX 应用程序开发方面我是一个完全的新手,因此我不理解像“使用 NSFormatter”这样的简短回答,因为我不知道它是什么以及如何实现它。喜欢的例子

最佳答案

我认为没有内置方法可以简单地设置最大值,因为您需要决定您想要的行为。例如,如果字段中已经有一个字符,而用户输入第二个字符,会发生什么情况?第二个字符应该被忽略吗?换第一个?嘟?

在任何情况下,您都可以使用 NSText Delegate 获得您想要的任何行为。方法。使您的 View Controller (或任何具有逻辑的对象)成为文本字段的委托(delegate),并实现各种委托(delegate)方法来执行您需要的操作。

同样,确切的行为取决于您,但如果我要实现它,我可能倾向于让文本字段始终使用最后输入的字符(这样,如果一个字符已经存在,则按第二个字符替换首先)。为此,您需要覆盖 textDidChange 以查看文本字段的值,并在适当时修改它。像这样的东西:

class ViewController: NSViewController, NSTextFieldDelegate {

@IBOutlet weak var textField: NSTextField!

override func controlTextDidChange(obj: NSNotification) {
if self.textField.stringValue.characters.count > 1 {
self.textField.stringValue = String(self.textField.stringValue.characters.last!)
}
}
}

关于swift - 在 Swift 的 NSTextfield 中设置最大字符数(为一个),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35589503/

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