1

这是我的问题。

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

  • 应用收到消息
  • 在 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];

谢谢!

4

1 回答 1

0

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

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

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

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

于 2013-04-17T10:25:00.057 回答