首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >来自AppDelegate.h的IOS推流ViewController

来自AppDelegate.h的IOS推流ViewController
EN

Stack Overflow用户
提问于 2012-01-17 02:41:22
回答 2查看 2.7K关注 0票数 1

我使用的是一个包含各种ViewControllers的StoryBoard和一个TableViewController,特别是ImageViewController,它只显示一个图像。我的DetailViewController包含一个UIWebView,这里我有一个链接,当按下时,我正在尝试加载我的ImageViewController。

链接是

查看图像

`

在AppDelegate.m中,我通过处理handleOpenURL来获得filename值。

我是IOS新手,正在为如何从AppDelegate.m的handleOpenURL方法加载我的ImageViewController而苦苦挣扎。

我的代码是:

代码语言:javascript
复制
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url 

{

代码语言:javascript
复制
NSString *param = [keyValueParm objectForKey:@"filename"];
NSLog(@"Param: %@",param);

ImageViewController *imageViewController =[[ImageViewController alloc]init];
imageViewController.imageString = param;

UIViewController *root = self.window.rootViewController;
[root.navigationController pushViewController:imageViewController animated:YES];
return true;

}

目前什么也没发生。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-17 02:45:32

您不应该实现application:handleOpenURL:方法。它不仅被弃用,而且它所做的是请求应用程序代理允许在浏览器中打开URL。

相反,您要做的是在DetailViewController中实现UIWebViewControllerDelegate协议。具体地说,您应该实现– webView:shouldStartLoadWithRequest:navigationType:方法。在它里面:

代码语言:javascript
复制
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
   [ImageViewController *imageViewController =[[ImageViewController alloc]init];
   imageViewController.imageString = param;
   [root.navigationController pushViewController:imageViewController animated:YES];

   return YES;
} 

在此方法中,UIWebView实例向其委托请求打开url的权限。

希望能有所帮助

票数 0
EN

Stack Overflow用户

发布于 2012-01-17 02:46:32

当心,这个方法被去掉了:http://developer.apple.com/library/ios/#documentation/uikit/reference/UIApplicationDelegate_Protocol/Reference/Reference.html

此外,请确保让您的应用程序委托应用程序:didFinishLaunchingWithOptions:方法返回YES,或者如果您的委托实现了applicationDidFinishLaunching:,您的代码将不会被调用:

如果委托从其应用程序的实现中返回NO,则不会调用此方法:didFinishLaunchingWithOptions:方法。如果您的应用程序实现了applicationDidFinishLaunching:方法而不是application:didFinishLaunchingWithOptions:,则在应用程序初始化后调用此方法以打开指定的URL。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8884721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档