触摸appDelegate中的事件

这是我的问题。

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

  • 该应用程序收到一条消息
  • 在appDelegates中捕获:didReceiveRemoteNotification
  • 创build一个新的UIView来显示接收到新消息

唯一的问题是,我希望用户能够点击消息,以便应用程序将打开消息viewcontroller。 但我似乎无法弄清楚如何捕捉这个触摸,然后在appDelegate中做些什么。 我有一个NSLog的方法,应该打开新的viewcontroller,但似乎从来没有被调用。

任何帮助,将不胜感激!

这是代码,它在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]; 

谢谢!

我build议你不要使用你的应用程序委托类。 这不是它的目的,它会导致devise混乱。

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

至于为什么你的NSLog没有出现,显示代码也是有帮助的。

您提到的轻触手势识别器似乎已configuration为允许在屏幕上的任何位置轻按,而不是像在提示中轻敲消息。 只是供参考。