這僅適用于整數值,我從另一個 stackoverflow 問題中發現了這一點,但是我如何設定樣式以允許小數位。我對 macOS 很陌生,感謝您的幫助!
class OnlyIntegerValueFormatter: NumberFormatter {
override func isPartialStringValid(_ partialString: String, newEditingString newString: AutoreleasingUnsafeMutablePointer<NSString?>?, errorDescription error: AutoreleasingUnsafeMutablePointer<NSString?>?) -> Bool {
// Ability to reset your field (otherwise you can't delete the content)
// You can check if the field is empty later
if partialString.isEmpty {
return true
}
// Optional: limit input length
if partialString.count > 8 {
return false
}
// Actual check
return Int(partialString) != nil
}
}
uj5u.com熱心網友回復:
要允許十進制數,您可以將 return 陳述句更新為以下內容
// ...
return number(from: partialString) != nil
}
然后你允許整數和十進制數
還有更多可用選項(例如maximumIntegerDigits)通過使用NumberFormatter(https://developer.apple.com/documentation/foundation/numberformatter)來限制您的輸入
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/370545.html
上一篇:未能產生表達診斷;請提交錯誤報告
