2013-04-17 116 views
1

這是我的問題。在AppDelegate中觸摸事件

我已經在我的應用程序中實現了推送通知,它工作得很好。

  • 該應用程序接收到消息
  • 瞳孔中appDelegates:didReceiveRemoteNotification
  • 創建一個新的UIView,以顯示新郵件收到

唯一的問題我已經是我想要的用戶能夠點擊消息,以便應用程序將打開消息視圖控制器。但我似乎無法弄清楚如何捕捉此觸摸,然後在appDelegate中對其進行操作。我在應該打開新的viewcontroller的方法中有一個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]; 

謝謝!

回答

0

我建議您不要爲此使用您的應用程序委託類。這不是它的目的,它會導致設計混亂。

爲什麼不使用常規視圖控制器和UIView子類?它們是手勢和觸摸輸入的自然場所。

至於爲什麼你的NSLog沒有出現,它也可能有助於顯示代碼。

正如你所提到的,你的水龍頭手勢識別器配置爲允許任何水龍頭在屏幕上的任何位置點擊,而不是像在信息上右擊一樣。只是FYI。