自定义iPhone退格并输入按钮

时间:2010-10-04 13:50:28

标签: iphone ios4

我的自定义退格键有问题,并在自定义iPhone键盘上输入按钮,

Backspace:我的代码只删除行尾的字符而不是光标位置。

if ([textView.text length]>0) textView.text = [textView.text substringToIndex:([textView.text length]-1)];

并阅读此问题Custom keyboard iphone , having problem with backspace button in UITextView但未解决我的问题。

回车:我有像退格一样的问题,输入按钮只是在句子末尾插入新行而不是从光标位置插入。

textView.text = [NSString stringWithFormat:@"%@\n", textView.text];

我应该如何更改我的代码才能正常工作?谢谢

编辑: // BACKSPACE按钮代码:

NSRange deleteRange = textPad.selectedRange;
deleteRange.length -= 1;
if ([textPad.text length]>0) textPad.text = [textPad.text stringByReplacingCharactersInRange:deleteRange withString:@""];

3 个答案:

答案 0 :(得分:4)

这是最好的iphone自定义退格代码:D:

  NSRange deleteRange = textPad.selectedRange;

        if (deleteRange.length >0)
        textPad.text = [textPad.text stringByReplacingCharactersInRange:deleteRange withString:@""];


        else

            if (deleteRange.location > 0)
            textPad.text =  [textPad.text  stringByReplacingCharactersInRange:NSMakeRange(deleteRange.location-1,1) 
 withString:@""];

deleteRange.location--;
deleteRange.length = 0;
textPad.selectedRange = deleteRange;

答案 1 :(得分:3)

textView.text = [textView.text stringByReplacingCharactersInRange:textview.selectedRange withString:@"\n"]; // Replace the selected characters with a new line

textView.text = [textView.text stringByReplacingCharactersInRange:textview.selectedRange withString:@""]; // Delete the selected character

答案 2 :(得分:1)

您可以使用UITextView selectedRange方法确定所选文本的开头和结尾,并从该范围而不是从字符串末尾删除。