我想保留UITextField
中的某些文本不可编辑。例如,我想保留诸如“.com”之类的东西,在此“.com”之前预先输入用户的输入。如何防止编辑UITextField中的部分文本
0
A
回答
2
尝试使用这种方法
(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
而且使用的东西像这样,所以当用户试图编辑最后三个字符时,它将返回NO:
if (string.length < 3) {
NSLog(@"NO -> string.length < 3");
return NO;
}
if (range.location > textField.text.length-3) {
NSLog(@"NO");
return NO;
}
return YES;
+1
这将无法正常工作。如果用户选择“com”部分,然后点击删除,那么将调用“shouldChangeCharacters ...”委托方法,其长度为零。你的第一个'if'检查将会看到这个返回'YES',这意味着所选的“com”将被删除。与所期望的相反。 – rmaddy
+0
我想这是对的,但这只是他想如何工作而已。无论如何,我为它制作了一个版本,现在它可能更少错误...... –
0
记录每个字符的变化。如果编辑了“.com”的任何部分,则以编程方式恢复它。请务必向用户提供“.com”不可编辑的指示。
0
当用户返回的UITextField做到这一点:
NSString *oldString = yourTextField.text;
NSString *newString = [oldString stringByAppendingString:@".com"];
yourTextField.text = newString;
0
你可以这样做有以下两种方式:
NSString *suffixStr = @".com";
1.
NSString *newStr = [yourStr stringByAppendingString:suffixStr];
2.
NSString *newStr = [NSString stringWithFormat:@"%@%@", yourStr, suffixStr];
相关问题
- 1. UITextfield文本正在编辑
- 2. 的UITextField编辑部分字符串
- 3. 无法编辑UITextField中的文本
- 4. 如何在java文本文件中编辑行的部分
- 5. 当我编辑文本时,如何防止徽标移动?
- 6. 如何防止Android键盘隐藏编辑文本?
- 7. 如何编辑的UITextField
- 8. 如何防止文本流入页面的不同部分?
- 9. 防止QTable选择编辑中的所有文本
- 10. 如何停止Eclipse在文本编辑器中的“italizing”文本?
- 11. 如何防止编辑GXT ComboBoxCell
- 12. 如何突出显示UITextField中的文本部分?
- 13. 如何在编辑uitextfield时停止在uitableview中滚动
- 14. 如何使文本字段的部分不可编辑?
- 15. 如何防止切换到UITextField?
- 16. 编辑后(编辑时居中),UITextField中的文本向上移动
- 17. 如何在swift中部分掩盖UITextField文本?
- 18. 如何设置编辑=否;在UITextField中?
- 19. 如何在C中编辑文本文件中的特定部分行?
- 20. 防止编辑DataGridView中的特定行
- 21. cameraOverlayView防止编辑与allowsEditing
- 22. 如何使UIButton导致UITextField开始编辑文本
- 23. 禁止仅对UITextField进行编辑?
- 24. 如何防止截断Flex组合框中文本的底部?
- 25. 如何防止左“后”部分脱落?
- 26. 有没有办法让文本区域部分可编辑? (只能编辑文本的一部分)
- 27. UITableViewCell内的UITextField - 防止文本重置的方法
- 28. 如何防止用户使用c#Word Interop编辑Word文档?
- 29. 如何防止RubyMine编辑器修改文件
- 30. 如何防止uitextfield扩展它的宽度,但允许其文本的高度?
这可以帮助你: http://stackoverflow.com/questions/9248340/can-i-place-noneditable-text-in-uitextfield – RKY
使用IBAction为文本字段连接到一个方法改变。当它被触发时,根据需要更改文本。 – Sandeep