【问题标题】:Objective C how to get the numeric value of a UITextPositionObjective C 如何获取 UITextPosition 的数值
【发布时间】:2013-03-15 21:40:40
【问题描述】:

我需要获取 UIText 范围的开始和结束的数值。到目前为止,我只能将描述打印为字符串。

通过查看 selectedTextRange,我认为它可能是一个结构?如何获取结构的元素?

UITextRange *selectedRange = [myTextView selectedTextRange];

NSLog(@"selectedRange.start %@, selectedRange.end %@ ", selectedRange.start.description, selectedRange.end.description);

这里是描述:

2013-03-26 13:44:03.127 AttributedString[24678:907] selectedRange.start <UITextPosition: 0x1ead8f10, 8, {"Rrrttgh "}, {"gggggh ggg..."}>, selectedRange.end <UITextPosition: 0x1eaf7860, 14, {"...tgh gggggh"}, {" gggg"}> 

【问题讨论】:

    标签: objective-c struct uitextrange uitextposition


    【解决方案1】:

    一个 UITextView 符合UITextInput。作为该协议的一部分,它必须实现并处理它自己的 UITextRange 和 UITextPosition 子类。这些不是结构,而是对象。

    您可以通过使用offSetFromPosition:toPosition: 并传入beginningOfDocument 来获得一个简单的数字位置以获取起始位置。所有这些方法都将由 UITextView 实现。您还可以传入范围的开始和结束以找出选择的长度。

    完整协议参考here

    【讨论】:

      【解决方案2】:

      这里有一个类似问题的答案:UITextPosition to NSRange

      基本上你在UITextRange的开始和结束处调用-offsetFromPosition:toPosition:,初始位置为myTextView.beginningOfDocument

      【讨论】:

        猜你喜欢
        • 2013-12-06
        • 2011-10-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多