【问题标题】:fire event when touch up inside uiview and outside button触摸 uiview 内部和外部按钮时触发事件
【发布时间】:2010-12-20 14:34:53
【问题描述】:

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

【问题讨论】:

    标签: iphone uibutton touch accelerometer camera-overlay


    【解决方案1】:

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

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

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

    请参阅UIResponder Class Reference 了解更多信息。

    【讨论】:

      【解决方案2】:

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

      -(IBAction) viewClicked :(id) sender {
        if (id == myView) ...
      }
      

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 2021-12-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-07-23
          相关资源
          最近更新 更多