Mac OS 只允许NSTextField输入数字
好久没写文章了,随便凑一个
//重写NSTextField的NumberFormatter
class OnlyIntegerValueFormatter: NumberFormatter {
override func isPartialStringValid(_ partialString: String, newEditingString newString: AutoreleasingUnsafeMutablePointer<NSString?>?, errorDescription error: AutoreleasingUnsafeMutablePointer<NSString?>?) -> Bool {
if partialString.count == 0 {
return true
}
let scanner = Scanner.init(string: partialString)
var intType: Int = 0
if scanner.scanInt(&intType) && scanner.isAtEnd {
return true
}
return false
}
}
//使用方法
NSTextField().formatter = OnlyIntegerValueFormatter()
//其他判断条件也可以这样写,如不允许输入"<"
if partialString.contains("<") {
return false
}
如果有帮助到你可以点个关注
还没有评论,来说两句吧...