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
}
Обратите внимание, что я на самом деле не тестировал этот сценарий, но он должен работать.Распознаватели жестов потрясающие.