覆盖UITextView的UIScrollView方法touchEnded

时间:2011-02-04 22:26:19

标签: iphone objective-c cocoa-touch user-interface uikit

我在View中有一个UITextView(来自InterfaceBuilder)。这包含一个UIScrollView。

现在我必须检测UITextView中的触摸事件,因为我必须关闭自己的子菜单。

Apple UITextView位于UIScrollView中,为了检测UIScrollView中的触摸,我将使用UITextView的UIScrollView的UITouch Funktion。

我有什么建议吗?

1 个答案:

答案 0 :(得分:3)

UITextView是UIScrollView的子类。当你说“包含UIScrollView?”时,这就是你的意思吗?

您可以在这里采取几种方法。如果您关注的触摸是文本视图中的第一次触摸,因此开始编辑,您可以成为其委托并实现此方法:

- (void)textViewDidBeginEditing:(UITextView *)textView

如果您需要了解文本视图中出现的任何点按,而不仅仅是初始编辑点击,您可以使用UITapGestureRecognizer来监听点击。像这样:

// in the method where you configure your view
UITapGestureRecognizer *tap = [[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(textViewTapped:)] autorelease];
// assuming textView is pointing to your UITextView
[textView addGestureRecognizer:tap];

然后在你班级的其他地方实施行动方法:

- (void)textViewTapped:(id)sender {
  // dismiss your menu or whatever
}

请注意,我实际上没有测试过这种情况,但是它应该可行。手势识别器非常棒。