9

我有一个 UITextView,它的委托设置为我的视图控制器

我想帮助您弄清楚如何通过委托方法、子类化、选择器等找出光标移动的时间。

我已经尝试过-textViewDidChange所有-textViewDidChangeSelection其他委托方法,但是当光标在文本视图中移动时它们不会被调用......

那么我怎样才能发现插入符号何时在我的移动UITextView并根据需要采取行动(运行一些代码)

这似乎是一个不切实际的问题,但我有一个场景,当光标向上或向下移动时我需要更新标签,所以我想

谢谢,我希望我尽可能清楚

4

2 回答 2

16

只是为了扩展@rmaddy 的评论。您将希望使用UITextViewDelegate方法-textViewDidChangeSelection:在文本视图中的选定范围发生更改时收到通知。从那里,您可以通过文本视图的属性访问表示文本选择的NSRange 。selectedRange

- (void)textViewDidChangeSelection:(UITextView *)textView
{
    NSRange range = textView.selectedRange;
}
于 2013-08-31T23:26:20.387 回答
0

斯威夫特 4.2

func textViewDidChangeSelection(_ textView: UITextView) {
    DispatchQueue.main.async {
        self.othersTextView.selectedRange = NSRange(location: 0,length: 0)
    }
}

将光标始终设置在 UITextView 的开头

于 2021-11-25T12:52:21.537 回答