我研究了以下一些问题,即:
但他们都在使用本地通知。我在本地通知方面遇到问题,因为我必须在警报视图上使用三个按钮,它们是:贪睡、忽略和确定。我必须对每个按钮单击执行自定义操作。
请帮我解决这个问题。
建议接受。
提前致谢。
库尔迪普。
我研究了以下一些问题,即:
但他们都在使用本地通知。我在本地通知方面遇到问题,因为我必须在警报视图上使用三个按钮,它们是:贪睡、忽略和确定。我必须对每个按钮单击执行自定义操作。
请帮我解决这个问题。
建议接受。
提前致谢。
库尔迪普。
在您的应用程序委托中...
- (void) presentWidget: (NSString*)theDisplayedText {
BOOL widgetIspresent = [WidgetVC widgetIsCurrentlyPresented];
if (!widgetIspresent) {
WidgetVC *widgetVC = [[WidgetVC alloc] initWithNibName:@"WidgetVC" userInfoString:theDisplayedText bundle:nil];
widgetVC.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
widgetVC.userInfoStr = theDisplayedText;
[mainScreenManager presentViewController:widgetVC animated:YES completion:nil];
}
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
UILocalNotification *localNotif = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];
if (localNotif) {
NSLog(@"Recieved Notification didFinishLaunchingWithOptions %@",localNotif);
NSString *theDisplaytext = [localNotif.userInfo valueForKey:@"someKey"];
//here we have to handle whatever notification was pressed - that might also be an old aready passed one
//this all is checked when the widget opens - it will show if the notification is OK or too old
[self presentWidget: theDisplaytext ];
} else {
//so we started the app normally, not via local notification
[self presentWidget];
}
return YES;
}
// Handle the notificaton when the app is running
- (void)application:(UIApplication *)app didReceiveLocalNotification:(UILocalNotification *)localNotif {
// Handle the notificaton when the app is running
NSLog(@"Recieved Notification didReceiveLocalNotification %@",localNotif);
NSString *theDisplaytext = [localNotif.userInfo valueForKey:@"someKey"];
[self presentWidget: theDisplaytext];
}
您需要一种方法来启动小部件的 UIViewController,我刚刚创建了一个 mainScreenManager 助手。
所以在widgetVC上你有你的“Snooze”和“OK”,而“Ignore”只是忽略通知本身。
希望这能让你走上可用的轨道......
ps 我将我的应用程序从 Android 移植到 iPhone,这就是我为这个屏幕使用名称“widgetVC”的原因。在 Android 上,它被实现为一个小部件。希望没有 iPhone 爱好者感到被冒犯 :-)