【问题标题】:Getting Remaining Text After Selection is Cut剪切选择后获取剩余文本
【发布时间】:2013-04-08 22:23:11
【问题描述】:

有没有一种简单的方法可以在选择被剪切后获取剩余的文本?假设我有一个带有“Hello, Jim”的文本视图控件。如果选择“Jim”,我想将“Hello”存储到变量中,“而不使用 [textview1 cut:self]。在下面的代码中,我可以得到另一部分。

UITextRange *selectedTextRange = textview1.selectedTextRange;
NSUInteger location = [textview1 offsetFromPosition:textview1.beginningOfDocument toPosition:selectedTextRange.start];
NSUInteger length = [textview1 offsetFromPosition:selectedTextRange.start toPosition:selectedTextRange.end];
NSRange selectedRange = NSMakeRange(location, length);
NSString *str = [textview1.text substringWithRange:selectedRange];
NSLog(@"%@",str);

当然,那是另一部分。

感谢您的帮助。

【问题讨论】:

    标签: ios ios6 uitextview uitextrange


    【解决方案1】:
    NSString *remaining = [textview1.text stringByReplacingCharactersInRange:textview1.selectedRange withString:@""];
    

    【讨论】:

    • 谢谢。我不会这样做,因为 textview 内容可能包含所选短语的多个副本。
    • 您只是替换了一个文本范围,而不是一个文本值。
    【解决方案2】:

    我认为它类似于以下内容。 (修订)

    NSMutableString *str = [NSMutableString stringWithString:@""];
    if (textview1.text.length > length) {
        [str appendString:[textview1.text substringToIndex:location]];
        [str appendString:[textview1.text substringFromIndex:location + length]];
    } else {
        [str appendString:@""];
    }
    [self setText:str];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-21
      • 2022-01-07
      • 2019-01-02
      • 1970-01-01
      • 2020-12-16
      相关资源
      最近更新 更多