如何启用仅数字数字键盘 ios Swift [英] How to enable Only Numeric Digit Keyboard ios Swift
本文介绍了如何启用仅数字数字键盘 ios Swift的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在开发 ios 应用程序,目前我正面临这个问题.我有三个文本字段,我希望用户在这些字段中输入数字,即 1 2 3 等,但在数字键盘中还有一个阿拉伯数字选项.有没有办法从键盘上删除阿拉伯数字选项?
I am working on ios app current I m facing the problem. I have three text fields and I want from the user to give numeric digit input in these fields i.e 1 2 3 etc.but in Numeric keypad there is also an option for Arabic digits . is there any way to remove Arabic digit option from keypad?
推荐答案
你可以在委托方法中使用这个函数.
You can use this function in delegate method.
public static func convertStringtoArabic(_ paramString: String) -> String {
var finalString: String = paramString
finalString = finalString.replacingOccurrences(of: "٠", with: "0")
finalString = finalString.replacingOccurrences(of: "١", with: "1")
finalString = finalString.replacingOccurrences(of: "٢", with: "2")
finalString = finalString.replacingOccurrences(of: "٣", with: "3")
finalString = finalString.replacingOccurrences(of: "٤", with: "4")
finalString = finalString.replacingOccurrences(of: "٥", with: "5")
finalString = finalString.replacingOccurrences(of: "٦", with: "6")
finalString = finalString.replacingOccurrences(of: "٧", with: "7")
finalString = finalString.replacingOccurrences(of: "٨", with: "8")
finalString = finalString.replacingOccurrences(of: "٩", with: "9")
return finalString
}
和你需要遵守的委托方法
And Delegate Method you need to conform
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
var newText = NSString(string: textField.text!).replacingCharacters(in: range, with: string)
newText = Preferences.convertStringtoArabic(newText)
// You can use this new text
let allowedCharacters = CharacterSet.decimalDigits
let characterSet = CharacterSet(charactersIn: string)
return allowedCharacters.isSuperset(of: characterSet)
}
这篇关于如何启用仅数字数字键盘 ios Swift的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文