在我的today-extension中,我使用以下代码启动我的应用程序:
NSURL *url = [NSURL URLWithString:@"hdb://"];
[[self extensionContext] openURL:url completionHandler:nil];启动应用后,是否可以调用特定的ViewController进行显示?在我的应用程序中,所有ViewControllers都是用它们的segues调用的,如下所示:
[self.mainSlideMenu.leftMenu performSegueWithIdentifier:@"NewsPhoneSegue" sender:self];发布于 2014-09-19 23:28:44
我解决这个问题的方法是在UserDefaults中写一个Int,它现在是从我下载的xml文件中得到的,并且在应用程序的第一个VC中,我通过"case“来检查它的值。因此,情况0应用程序按照设置的要求启动,情况1应用程序启动时显示新闻,情况2显示其他视图,依此类推。在每种情况下,我都添加了将Int重置为0,否则当通过图标启动应用程序时,我的设置将被忽略,因为该值是从上次使用该扩展时存储的。
调用openURL之前的The extension中的代码:
NSString *ZwischenZiel = [[self.todayParser.todayArray objectAtIndex:indexPath.row] View];
NSInteger Ziel = [ZwischenZiel integerValue];
NSUserDefaults *sharedDefaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.com.company.HdB"];
[sharedDefaults setInteger:Ziel forKey:@"ViewValue"];
[sharedDefaults synchronize];在应用程序的第一个viewController中:
NSUserDefaults *sharedDefaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.com.company.HdB"];
NSInteger Wert = [sharedDefaults integerForKey:@"ViewValue"];
switch (Wert) {
case 0:
//if-else for passing the right segue respecting settings
if ([manualStartSeite isEqual:@"lalala"]) {
[self.mainSlideMenu.leftMenu performSegueWithIdentifier:@"lalalaPhoneSegue" sender:self];
} else {
}
break;
case 1:
//News
[self.mainSlideMenu.leftMenu performSegueWithIdentifier:@"NewsPhoneSegue" sender:self];
[sharedDefaults setInteger:0 forKey:@"ViewValue"];
[sharedDefaults synchronize];
break;
case 2:发布于 2014-09-17 17:22:32
如果我知道你在问什么,你可以在你的应用程序请求的时候创建一个视图控制器,在它的视图中,你可以调用perform segue with identifier方法来调用你特定的视图控制器。希望能有所帮助。
https://stackoverflow.com/questions/25883996
复制相似问题