代码之家  ›  专栏  ›  技术社区  ›  iOS.Lover

自定义iPhone backspace和enter按钮

  •  1
  • iOS.Lover  · 技术社区  · 14 年前

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

    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];
    

    编辑: //退格按钮代码:

    NSRange deleteRange = textPad.selectedRange;
    deleteRange.length -= 1;
    if ([textPad.text length]>0) textPad.text = [textPad.text stringByReplacingCharactersInRange:deleteRange withString:@""];
    
    3 回复  |  直到 8 年前
        1
  •  4
  •   Mc.Lover    14 年前

    以下是最佳的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;
    
        2
  •  3
  •   JustSid    14 年前
    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
    
        3
  •  1
  •   hotpaw2    14 年前