添加一個功能,我們將調用按鈕的YourViewController.h文件中的觸摸,然後給身體的YourViewController.m該函數文件
-(void)Trigger_LocalNotification
{
[[UIApplication sharedApplication] cancelAllLocalNotifications];
UILocalNotification *_localNotification = [[UILocalNotification alloc]init];
//setting the fire dat of the local notification
_localNotification.fireDate = [NSDate dateWithTimeIntervalSinceNow:5];
//setting the time zone
_localNotification.timeZone = [NSTimeZone defaultTimeZone];
//setting the message to display
_localNotification.alertBody = @"Did you forget something?";
//default notification sound
_localNotification.soundName = UILocalNotificationDefaultSoundName;
//displaying the badge number
_localNotification.applicationIconBadgeNumber = [[UIApplication sharedApplication]applicationIconBadgeNumber]+1;
//schedule a notification at its specified time with the help of the app delegate
[[UIApplication sharedApplication]scheduleLocalNotification:_localNotification];
}
第一行的代碼將刪除系統中的所有本地通知(如果已聲明)。在第二行中,我正在初始化UILocalNotification變量,在第三行中,我使用fireDate屬性來設置此本地通知將觸發的時間,並且您可以看到通知將在5秒後觸發。
的soundName是用來播放聲音時,通知被觸發並在應用內觸發這個本地通知也沒有激活,在這種情況下,一個警告框會彈出默認通知UILocalNotification類的屬性聲音並使用屬性alertBody寫入警報消息。代碼的最後一行會將此通知與系統相關聯。
確保安裝與按鈕此功能潤色內 事件
[btn addTarget:self action:@selector(Trigger_LocalNotification) forControlEvents:UIControlEventTouchUpInside];
現在選擇項目的應用Delegate.m文件,並創建該類的對象(YourViewController)
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
YourViewController *obj = [[YourViewController alloc]init];
[self.window addSubview:obj.view];
[self.window makeKeyAndVisible];
return YES;
}
運行應用程序,當應用程序在模擬器啓動然後快速按home鍵看到警告框在5秒後發出本地通知。
我希望這個答案能幫助你學習如何實現UILocalNotification。
感謝警報正在正常工作.....但文本要顯示在該警報是從其他視圖控制器,爲什麼它不工作??'application.applicationIconBadgeNumber = 0; \t NSString * reminderText = [notification.userInfo objectForKey:kRemindMeNotificationDataKey]; \t [viewController showReminder:reminderText]; – Chandu
顯示提醒是我寫在另一個視圖控制器的方法,但我不知道爲什麼它不被稱爲 – Chandu
好方法來處理本地notif。你建議將'isAppResumingFromBackground'設置爲'YES'嗎?有些地方會在'application:didReceiveLocalNotification:'之後調用,但會在應用程序恢復的任何情況下調用。 – dvkch