【问题标题】:Open UIWebView URL in Safari在 Safari 中打开 UIWebView URL
【发布时间】:2013-01-20 01:06:49
【问题描述】:

所以我在设置它时遇到了一些困难。我正在使用这个:UIWebView open links in Safari 的代码,但我似乎无法让它工作。

这是我的 .h 文件:

#import <UIKit/UIKit.h>

@interface SecondViewController : UIViewController
{

}

@property (strong, nonatomic) IBOutlet UIWebView *webView;

@end

这是我的 .m 文件:

#import "SecondViewController.h"

@interface SecondViewController ()

@end

@implementation SecondViewController
@synthesize webView = _webView;

- (void)viewDidLoad
{
    [super viewDidLoad];

    [_webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http:m.youtube.com/user/haatfilms/uploads"]]];
    [_webView setBackgroundColor:[UIColor clearColor]];
    [_webView setOpaque:NO];
    _webView.scrollView.bounces = NO;
    _webView.scrollView.indicatorStyle = UIScrollViewIndicatorStyleWhite;
}

-(BOOL) webView:(UIWebView *)inWeb shouldStartLoadWithRequest:(NSURLRequest *)inRequest navigationType:(UIWebViewNavigationType)inType {
    if ( inType == UIWebViewNavigationTypeLinkClicked ) {
        [[UIApplication sharedApplication] openURL:[inRequest URL]];
        return NO;
    }

    return YES;
}

@end

我想我已经连接了 UIWebView 委托:

但是,当我点击一个链接时,它仍然会加载到 UIWebView 而不是 Safari 中。

谁能解释为什么它不起作用?非常感谢

【问题讨论】:

  • 您是否已经检查过这个stackoverflow.com/questions/2899699/…
  • 我提到我在我的问题中使用了它。玩了一会儿,发现 YouTube 不支持,其他网站支持。
  • 是的,YouTube 似乎在内部由 iOS 以某种不同的方式处理

标签: iphone xcode uiwebview


【解决方案1】:

发现问题。不要使用 IB 连接我的 webView 委托,只需这样做:

[super viewDidLoad];

    webView.delegate = self;

【讨论】:

    猜你喜欢
    • 2013-01-07
    • 1970-01-01
    • 2015-03-07
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    相关资源
    最近更新 更多