如何在UITableViewCell中获取UITextView的突出显示文本?

发布于 2024-11-11 07:09:33 字数 207 浏览 2 评论 0原文

我有一个自定义单元格( UITableViewCell 的子类),其中有一个 textView 。效果很好!现在,当我点击单元格并突出显示某些文本时,会出现默认的 UIMenuController,我可以选择复制突出显示的文本。而且这个功能也完美运行。现在,我想向 UIMenuController 添加一个自定义按钮,我实际上做到了,但要执行菜单项操作,我需要知道所选文本是什么。我怎样才能得到它?

I have a custom cell (subclass of UITableViewCell) with a textView inside of it. It works great! Now, when I tap on a cell and highlight some text, the default UIMenuController appears and I can choose to copy the highlighted text. Also this function works perfectly. Now, I would like to add a custom button to the UIMenuController, which I actually did, but to perform the menu item action I need to know what the selected text is. How can I get it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一个人的夜不怕黑 2024-11-18 07:09:33

为了更好地解释这一点,UITextField 中没有任何方法可以让我们知道当前选择的文本是什么。但是我们可以利用与菜单控制器关联的文本字段上的复制操作。 copy 操作将文本复制到我们需要检索的粘贴板上。我能够在 UITextField 的自定义子类中实现一个 Log 函数,如下所示 –

- (void)log:(id)sender {
    [self copy:sender];
    NSString *highlightedText = [UIPasteboard generalPasteboard].string;
    NSLog(@"%@", highlightedText);
}

这会将所选文本记录到控制台上。没有做太多事情,但给了你基本的想法。

To explain this better, there is no method in UITextField that allows us to know what the currently selected text is. But we can leverage the copy action on the text field that is associated with the menu controller. The copy action copies the text onto the pasteboard which we will need to retrieve. I was able to implement a Log function in my custom subclass of UITextField like this –

- (void)log:(id)sender {
    [self copy:sender];
    NSString *highlightedText = [UIPasteboard generalPasteboard].string;
    NSLog(@"%@", highlightedText);
}

This logs the selected text onto the console. Doesn't do much but gives you the basic idea.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文