初学者的问题:
我在视图中创建了一个子视图。在那个子视图中,我创建了另一个子视图。每个子视图填满整个屏幕(320x480):
[self.view addSubview:aView]; // 320x480
[aView addSubview:yetAnotherView]; // 320x480
如果我理解正确,这将导致以下层次结构:
到目前为止一切顺利。我的问题是,我想在这些视图的顶部识别出手势(无论是哪种视图......在我的情况下,我认为它是另一种视图)。以下命令不起作用 - 我猜是因为视图被子视图隐藏了:
UITouch *touch = [touches anyObject];
gestureStartPoint = [touch locationInView:self.view];
有没有办法告诉编译器它不应该采用self.view,而除了所有其他视图之外的任何视图?
非常感谢任何帮助!
编辑:
我认为我的问题是我正在编辑的子视图是全屏UITextViews ......我想我可以覆盖它们的触摸?例如从右到左滑动应该可以工作,但是从下到上滑动(通常滚动uitextview - 除非我将其设置为无法滚动)。
答案 0 :(得分:0)
如果使用touchesMoved:withEvent:方法
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
然后你可以使用它:
UITouch *touch1 = [[event touchesForView:self.someView] anyObject];
希望这有帮助。