每一个我都创建自定义键盘,我有问题
我用我的键盘作为textview.inputView = myKeyboardView;
我的键盘按钮有这个代码:
NSMutableString *text = [textPad.text mutableCopy];
NSRange selectedRange = textPad.selectedRange;
[text replaceCharactersInRange:selectedRange withString:@"A"];
textPad.text = text;
[text release];
所以问题是当我想从我的句子中间编辑一个单词,如果我选择一个单词并添加一些字母,我的按钮只写一个字符,如果我写一些其他字母开始句末!我该怎么做才能解决这个问题?
// EDIT //: 问题解决了
答案 0 :(得分:1)
我的第一个猜测是你需要设置selectedRange
。还要考虑使用便捷构造函数而不是显式创建可变副本 - 你只需要改变它一次,这样它就不会更有效。
NSString *text = textPad.text;
NSRange selectedRange = textPad.selectedRange;
NSString *replacement = @"A";
text = [text stringByReplacingCharactersInRange:selectedRange withString:replacement];
selectedRange = (NSRange){selectedRange.location + replacement.length, 0};
textPad.text = text;
textPad.selectedRange = selectedRange;