【问题标题】:Touch events in appDelegateappDelegate 中的触摸事件
【发布时间】:2013-04-10 01:09:39
【问题描述】:

这是我的问题。

我已经在我的应用程序中实现了推送通知,它工作得很好。

  • 应用收到消息
  • 在 appDelegates 中捕获:didReceiveRemoteNotification
  • 创建新的 UIView 以显示收到新消息

我唯一的问题是我希望用户能够点击消息,以便应用程序打开消息视图控制器。但我似乎无法弄清楚如何捕捉这种触摸,然后在 appDelegate 中对其进行处理。我在应该打开新视图控制器的方法中有一个 NSLog,但它似乎从未被调用过。

任何帮助将不胜感激!

代码如下,在 didReceiveRemoteNotification 方法中:

    UITapGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(gotoMessages)];
    UIView *messageView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 45)];
    messageView.userInteractionEnabled = YES;
    messageView.backgroundColor = [UIColor darkGrayColor];
    [messageView addGestureRecognizer:recognizer];
    [self.window addSubview:messageView];

谢谢!

【问题讨论】:

    标签: iphone ios uiview uigesturerecognizer appdelegate


    【解决方案1】:

    我建议您不要为此使用您的应用委托类。这不是它的用途,它会导致设计混乱。

    为什么不使用常规视图控制器和 UIView 子类?它们是手势和触摸输入的天然场所。

    至于为什么您的 NSLog 没有出现,显示该代码也可能会有所帮助。

    您的点击手势识别器似乎已配置为允许在屏幕上的任意位置点击,而不是像您提到的那样在消息上点击右侧。仅供参考。

    【讨论】:

      猜你喜欢
      • 2012-04-25
      • 1970-01-01
      • 1970-01-01
      • 2013-03-26
      • 1970-01-01
      • 1970-01-01
      • 2010-12-02
      • 2017-09-13
      • 2011-05-16
      相关资源
      最近更新 更多