我在我的应用程序中遇到问题,当我按空格键两次时,“。”(点)被添加到TextField中。我不想让点“。”在双击空格键上。
注意:我知道这是iOS中textField的默认行为。
我提到了之前的答案iPhone: Disable the "double-tap spacebar for ." shortcut?,但它适用于textView,而不适用于textField。
我没有替换这一行
textView.selectedRange = NSMakeRange(range.location + 1, 0)
答案 0 :(得分:0)
我有同样的问题,然后使用下面的委托方法,它被解决了,使用这段代码在textfield中没有显示的点,
swift代码:
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
let newString = (textField.text! as NSString).stringByReplacingCharactersInRange(range, withString: string) as? NSString
let arrayOfString = newString?.componentsSeparatedByString(".");
if arrayOfString?.count > 1
{
return false
}
return true
}
目标C代码:
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSString *newString1 = [textField.text stringByReplacingCharactersInRange:range withString:string];
NSArray *arrayOfString1 = [newString1 componentsSeparatedByString:@"."];
if ([arrayOfString1 count] > 1 )
return NO;
return YES;
}
它为我工作,希望它有用
答案 1 :(得分:0)
$last_insert_id = $app->db->pdo->lastInsertId();
答案 2 :(得分:0)
雨燕4
final class RestrictedDoubleSpaceDotTextField: UITextField {
override func awakeFromNib() {
super.awakeFromNib()
addTarget(self, action: #selector(didChangeText), for: .editingChanged)
}
@objc private func didChangeText() {
let textWithoutDot = text?.replacingOccurrences(of: ".", with: " ", options: .literal, range: nil)
text = textWithoutDot
}
}
答案 3 :(得分:0)
从模拟器/ iPhone更改键盘设置。
在iPhone设置->常规->键盘->(关闭)中。”。快捷方式