从其他方法打开webview中的链接

时间:2015-06-22 11:48:32

标签: ios objective-c webview

我对iOS开发完全陌生,所以请不要假设我在这方面的专业知识。

我在项目中成功实现了一个webview,并为其分配了一个url来加载'viewDidLoad'方法。这很好用。当我尝试从AppDelegate中的'handleOpenURL'方法中加载url时,没有任何反应,因为引用的webview是nil。

的ViewController:

@interface ViewController ()
    @property (retain, nonatomic) IBOutlet UIWebView *webview;
@end

- (void)viewDidLoad {
    [super viewDidLoad];

    NSString *fullURL = @"http://www.google.com/";
    NSURL *url = [NSURL URLWithString:fullURL];
    NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
    [_webview loadRequest:requestObj];
}

的AppDelegate:

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)requesturl {
    // handler code here
    return YES;
}

我的问题是:如何从其他方法中定位webview?

3 个答案:

答案 0 :(得分:0)

此方法是“要求代理打开由URL标识的资源”

不要像google或lod页面那样打开网址

答案 1 :(得分:0)

如果您使用自定义网址方案,例如,如果您要将iOS与Facebook SDK集成,那么您将使用此方法,而不是在webview中打开Goog​​le或任何其他网址。没有必要只能加载viewDidLoad方法,你可以在你的viewcontroller的任何其他方法中加载webview中的url

答案 2 :(得分:0)

您应该在AppDelegate中的application:handleOpenURL:中查找网址,然后在<meta name="viewport" content="width=device-width, initial-scale=1"> init中查找并打开ViewController