UITextField>强制光标停留在字段的末尾

时间:2011-03-19 08:58:47

标签: iphone cocoa-touch uikit cursor uitextfield

用户不应该在输入的字符串中的其他位置移动UITextField的光标。

我需要这个,因为我希望用户输入货币金额。这是通过让用户输入将被添加到金额末尾的数字来完成的,并且逗号将从末尾移动到第三个位置。

如何强制UITextField中的光标停留在输入字符串的末尾?

4 个答案:

答案 0 :(得分:1)

我通过隐藏原始输入字段并显示标签中格式化的值来解决问题。这可以防止用户更改光标位置。

答案 1 :(得分:1)

使用

创建UITextField的子类
-(BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer { return NO; }

禁用该字段上的所有手势。这意味着您可以通过编程方式将该字段设置为firstResponder。

答案 2 :(得分:1)

UIButton上放置UITextField。在按钮上添加IBAction,然后拨打UITextField.becomeFirstResponder()

这可以防止点击通过,游标可以修改,但仍允许用户点击视图并选择它。

答案 3 :(得分:0)

我认为你可以使用:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string

给他正确的范围。