gpt4 book ai didi

IOS 从 AppDelegate.h 推送 ViewController

转载 作者:行者123 更新时间:2023-11-28 17:39:03 26 4
gpt4 key购买 nike

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

链接是

查看图片

`

在 AppDelegate.m 中,我通过处理 handleOpenURL 获取文件名值。

我是 IOS 的新手,正在努力如何从 AppDelegate.m 中的 handleOpenURL 方法加载我的 ImageViewController。

我的代码是:

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url 

{

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;

目前没有任何事情发生。

最佳答案

您不应实现 application:handleOpenURL: 方法。它不仅已被弃用,而且它的作用是要求应用程序委托(delegate)允许在浏览器中打开 URL。

您要做的是在 DetailViewController 中实现 UIWebViewControllerDelegate 协议(protocol)。具体来说,您应该实现 – webView:shouldStartLoadWithRequest:navigationType: 方法。其中:

- (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 实例请求它的委托(delegate)打开一个 url。

希望对你有帮助

关于IOS 从 AppDelegate.h 推送 ViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8884721/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com