我对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?
答案 0 :(得分:0)
此方法是“要求代理打开由URL标识的资源”
不要像google或lod页面那样打开网址
答案 1 :(得分:0)
如果您使用自定义网址方案,例如,如果您要将iOS与Facebook SDK集成,那么您将使用此方法,而不是在webview中打开Google或任何其他网址。没有必要只能加载viewDidLoad方法,你可以在你的viewcontroller的任何其他方法中加载webview中的url
答案 2 :(得分:0)
您应该在AppDelegate中的application:handleOpenURL:
中查找网址,然后在<meta name="viewport" content="width=device-width, initial-scale=1">
init中查找并打开ViewController