我在ios中使用Today扩展。
我有多个不同信息的视图控制器。我正在使用今日扩展在tableview中显示一些信息。当点击行然后我想用信息打开相关的viewcontroller。
我尝试过以下代码。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSURL *url = [NSURL URLWithString:@"ReadText://"];
[self.extensionContext openURL:url completionHandler:nil];
}
我在info.plist中设置了url方案
但是使用这段代码我只能打开root viewcontroller。
感谢您的帮助。
答案 0 :(得分:1)
是的,您可以通过将自定义数据传递给urlSchemes来以编程方式打开customViewController。
NSURL *url = [NSURL URLWithString:@"ReadText://customViewController"];
实施委托方法并从url
获取字符串,然后按计划推送customViewController
。
-(BOOL) application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
NSString *viewController = [[url host] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
if([viewController isEqualToString:@"customViewController"]) {
//push customViewController on rootViewController
}
}