我一直在尝试打开用户在简单的Web视图中点击而不是多任务处理并进入Safari的链接。每次点击一个链接时,我的用户必须离开应用程序是一件非常痛苦的事情,我知道这可能很简单,但仍然很难让这一切发生。这是我正在使用的代码,但仍然在点击链接时打开safari。
如果有人能帮我指出正确的方向,我将非常感激!谢谢!
- (void) handleURL:(NSURL*)url
{
[web loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"%@"]]];
}
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest
*)request
navigationType:(UIWebViewNavigationType)navigationType {
NSLog(@"expected:%d, got:%d", UIWebViewNavigationTypeLinkClicked, navigationType);
if (navigationType == UIWebViewNavigationTypeLinkClicked) {
[UIApplication sharedApplication] ;
return NO;
}
if (navigationType == UIWebViewNavigationTypeLinkClicked) {
[web loadRequest:[NSURLRequest requestWithURL:[NSURL
URLWithString:replyTweetText.text]]];
return YES;
}
}
答案 0 :(得分:0)
我不确定这一点是做什么的:
if (navigationType == UIWebViewNavigationTypeLinkClicked) {
[UIApplication sharedApplication] ;
return NO;
}
行[UIApplication sharedApplication];
创建并返回单例应用程序实例。你没有做任何事情。
此外,两个if
语句都是相同的,因此只有第一个语句会被命中,方法返回NO
。没有默认返回值,这对于非void函数是不好的。试试这个:
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
return YES;
}