OStack程序员社区-中国程序员成长平台

标题: iOS如何以编程方式模拟uitextview上的两次点击? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 18:20
标题: iOS如何以编程方式模拟uitextview上的两次点击?

我想这样做,因为我想在点击一次后抓取选定的文本。如果有其他选择文本的方法,请告诉我。

谢谢。


我修改了 Luiz 解决方案,但它在 textview 上复制了整个文本。我想要实现的是选择一个词。

    if (gestureRecognizer.state == UIGestureRecognizerStateRecognized)
    {
        textview.selectedRange = NSMakeRange(0, textview.text.length);
        NSString *selected = [self.textview.text substringWithRange:textview.selectedRange];
        NSLog (@"selected = %@", selected);

    }

编辑:

我仍在努力为这项任务找到一个运行良好的代码。 在 Kindle.app 和 Wakaru.app 等大型应用程序中,可以点击一次并强制选择一个单词,就像点击两次一样。你知道如何做到这一点或实现这个功能的想法吗?



Best Answer-推荐答案


尝试以下步骤:

  1. 为你的 UITextView 设置一个 IBOutlet,比如说,myTextView

  2. 在 View Controller 的 viewDidLoad 上,为 myTextView 创建一个 UITapGestureRecognizer:

    UITapGestureRecognizer *tapTextView = [[UITapGestureRecognizer alloc] initWithTarget:self actionselector(tap];
    [myTextView addGestureRecognizer:tapTextView];
    [tapTextView release];
    
  3. 实现 tap 方法,使 UITextView 选择其文本:

     - (void)tapUITapGestureRecognizer *)recognizer
     {
         if (recognizer.state == UIGestureRecognizerStateRecognized) {
             myTextView.selectedRange = NSMakeRange(0, myTextView.text.length);
         }
     }
    

我希望这会有所帮助!

最好的问候!

关于iOS如何以编程方式模拟uitextview上的两次点击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8277535/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4