2

我有一个覆盖到 iPhone 相机视图的视图。在这个视图中,我有一些 uibuttons 显示在位置,具体取决于加速度计/罗盘的值。当用户在视图内触摸但他没有在 uibuttons 内触摸时,我需要触发一个事件,我的意思是,在 uibuttons 内触摸的相反动作。任何人都知道这样做吗?谢谢!

4

3 回答 3

1

如果你实现 UIResponder touchesBegan:withEvent: 方法..

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

...在您看来,您将能够判断用户何时在按钮之外按下。

有关详细信息,请参阅UIResponder 类参考

于 2010-12-20T14:39:26.260 回答
0

我试过你的选择,但它不起作用。我试图触发事件的视图位于相机视图中的 TabBar 项中,因此我认为响应者链不适用于它。最后,我通过以下方式解决了第一响应者覆盖视图的问题:[viewOverlay.view becomeFirstResponder];

于 2010-12-22T08:38:13.140 回答
0

例如,您可以为 UiVeiw 及其 UIButtons 分配一个事件处理程序 (IBAction),然后比较 sender 参数:

-(IBAction) viewClicked :(id) sender {
  if (id == myView) ...
}
于 2010-12-20T14:40:52.830 回答