2014-02-16 128 views
0

嗨,我有一個小問題。我嘗試了所有類型的解決方案,我可以找到,減去過時的代碼,獲取UIWebView鏈接打開Safari並將其加載到該主題。試圖打開與Safari的UIWebView鏈接

到目前爲止,我可以得到具體的大小加載模擬器,但每次我點擊它,它就加載在那裏。我必須錯過一個重要的步驟,或者我已經完全搞砸了AppDelegate .h .mViewController .h .m

我很喜歡編碼設備,直到第三代iPod/iPhone。我知道Xcode喜歡更新,我有5.0.2版本。我基本上是No0b,因爲我已經退出了一段時間。

如果您有任何提示,請讓我知道。除了放棄它。大聲笑。我知道這是可以做到的。以下是我有...

#import "WIAppDelegate.h" 

@implementation WIAppDelegate 

- (BOOL)webview:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request 
    navigationType:(UIWebViewNavigationType)navigationType { 
    // This practically disables web navigation from the webView. 
    if (navigationType == UIWebViewNavigationTypeLinkClicked) { 
     [[UIApplication sharedApplication] openURL:[request URL]]; 
     return FALSE; 
    } 
    return TRUE; 
} 


#import <UIKit/UIKit.h> 

@interface WIViewController : UIViewController 
@property (strong, nonatomic) IBOutlet UIWebView *webview; 

@end 

#import "WIViewController.h" 

@interface WIViewController() 

@end 

@implementation WIViewController 


- (void)viewDidLoad { 
    [super viewDidLoad]; 
    NSString *fullURL = @"http://THESITE.com"; 
    NSURL *url = [NSURL URLWithString:fullURL]; 
    NSURLRequest *requestObj = [NSURLRequest requestWithURL:url]; 
    [_webview loadRequest:requestObj]; 
} 

@end 

回答

0

您需要實現充當UIWebViewDelegate

這應該最有可能住在你WIViewController

類的類的 webview:shouldStartLoadWithRequest:navigationType:方法
@implementation WIViewController 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

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

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

@end 

您還需要確保您實際上t這個類作爲UIWebViewDelegate我已經把它作爲viewDidLoad的最後一行,但是如果你願意的話,你可以在xib中掛鉤這個,

相關問題