2012-06-07 72 views
-1

我正在開發假來電的應用程序。如何通過UILocalNotification使用NSThread來顯示自定義視圖?

爲此,我現在正在使用本地通知。

我收到通知按設定的時間,但它給了我彈出,就像一個默認通知。我不得不通過編碼來顯示視圖。

那麼,有沒有辦法用localnotification設置自定義視圖?

或者我可以使用NSThread來獲得上述輸出?

如果還有其他方式獲取錯誤輸出,請讓我知道。

在此先感謝


這是我在做什麼來設置通知。

-(void)addNotification 
{ 

     UILocalNotification *localNotification = [[UILocalNotification alloc] init]; 
     [localNotification setFireDate:[NSDate dateWithTimeIntervalSinceNow:5]]; 
     [localNotification setAlertAction:@"Answer"]; 

     [localNotification setAlertBody:[NSString stringWithFormat:@"%@\n\n %@",[txt_CallerName text],[txt_CallerNumber text]]]; 
     [localNotification setHasAction: YES]; 
     [localNotification setApplicationIconBadgeNumber:[[UIApplication sharedApplication] applicationIconBadgeNumber]]; 

     [[UIApplication sharedApplication] scheduleLocalNotification:localNotification]; //Schedule the notification with the system 

    [alertNotification setHidden:NO]; 
} 
+0

@casperOne ...你可以說爲什麼我的代碼在添加問題部分時沒有得到正確的格式......這是合理的每次降低我的聲譽....感謝重新格式化它。 –

回答

0

在收到UILocalNotification時顯示自定義界面是不可能的現在。如果你的應用程序處於前臺,碰巧收到UILocalNotification是可能的。但是,如果它在前臺,無論如何都可以顯示您的自定義界面。

當您發現本地通知並執行某些操作時,您的方法是在UIApplicationDelegate中執行-application:didReceiveLocalNotification:。可以說,這是你的問題的答案,但它不會達到你明確尋找的目標,即通過展示自定義用戶界面來在特定時間點啓動你的應用程序,因爲它只會在應用程序已經在前臺。

+0

localnotification讓我彈出按設置看.... –

+0

但有沒有任何種類的可能性設置視圖,而不是在通知被觸發時彈出...? –

+0

就像我說的:沒有。您可以在應用程序處於前臺*時顯示任何自定義UI *,但您不需要'UILocalNotification'來執行此操作。當您的應用在後臺時,無法將您的應用放在前面或顯示自己的自定義用戶界面。 – Jesper

-1

您可以使用NSNotificationCenter拋出通知,併發生事件只是調用通知的方法,並顯示您的自定義視圖。

1.註冊通知如下:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(displayCustomView) name:@"EventNotification" object:nil]; 

2,當事件發生如下通知方法:

[[NSNotificationCenter defaultCenter] postNotificationName:@"EventNotification" object:nil]; 

3.In通知方法顯示自定義視圖,如下所示:

-(void)displayCustomView 
{ 
    //initialize custom view and display as required. 
} 
+0

-1:錯誤的問題的正確答案 – Jesper

+0

@Jesper ...你能幫我解決我面臨的問題嗎? –