Mel*_*emi 6 iphone cocoa-touch uitextfield
有没有办法阻止用户在UITextField中移动光标?我希望它留在字符串的末尾.
这是一个老问题,但我一直在寻找同一问题的答案,并找到了解决方案.
实际上,防止用户移动光标非常简单.只是将UITextField子类化并提供以下实现caretRectForPosition:
- (CGRect)caretRectForPosition:(UITextPosition *)position
{
return [super caretRectForPosition:self.endOfDocument];
}
Run Code Online (Sandbox Code Playgroud)
无需子类。
您可以使用UITextFieldDelegate。它将禁用放大镜和文本选择。
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
textField.userInteractionEnabled = NO;
return YES;
}
- (void)textFieldDidEndEditing:(UITextField *)textField {
textField.userInteractionEnabled = YES;
}
Run Code Online (Sandbox Code Playgroud)
注意:这只是一个绕过。
没有办法阻止他们移动光标。但是,您可以通过实施以下命令来阻止他们编辑除最后之外的文本
\n\n\xe2\x80\x93 textField:shouldChangeCharactersInRange:replacementString:
文本字段委托中的方法。
\n\n编辑:您还可以设置userInteractionEnabled为NO使用户无法点击该字段。手动调用becomeFirstResponder以使字段获得焦点,因为用户无法点击来聚焦。
| 归档时间: |
|
| 查看次数: |
7625 次 |
| 最近记录: |