iOS如何以编程方式在uitextview上模拟两次点击?

时间:2011-11-26 09:38:44

标签: 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这样的大型应用程序中,可以点击一次并强制选择一个单词,就像两个水龙头一样。你知道怎么做这个或想法来实现这个功能吗?

3 个答案:

答案 0 :(得分:2)

请尝试按照以下步骤操作:

  1. 将IBOutlet设置为您的UITextView,名为myTextView

  2. 在视图控制器的viewDidLoad上,为UITapGestureRecognizer创建myTextView

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

     - (void)tap:(UITapGestureRecognizer *)recognizer
     {
         if (recognizer.state == UIGestureRecognizerStateRecognized) {
             myTextView.selectedRange = NSMakeRange(0, myTextView.text.length);
         }
     }
    
  4. 我希望这有帮助!

    祝你好运!

答案 1 :(得分:1)

你的问题不清楚。

如果您说“如果有其他方法可以选择文字,请告诉我”,您似乎只需要设置UITextView的selectedRange属性。

另一方面,我没有看到双击的链接......

答案 2 :(得分:1)

阅读完所有评论后,我认为我现在理解你的问题是:“在UITextView中,我怎样才能有一个点击选择文本的方式与双击通常相同?”

除了手工编写自己的文本视图外,我认为你不会找到解决方案。