嗨,我有一个小问题。我已经尝试了所有可以找到的解决方案,减去过时的代码,关于获取UIWebView
链接以弹出 Safari 并在其中加载它的主题。
到目前为止,我可以获得在模拟器中加载的特定大小,但每次单击它时,它都会在那里加载。我必须错过一个重要的步骤,否则我AppDelegate .h .m
和ViewController .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 :(得分:0)
您需要在充当webview:shouldStartLoadWithRequest:navigationType:
UIWebViewDelegate
方法
这很可能存在于您的WIViewController
班级
@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
您还需要确保将此类实际设置为UIWebViewDelegate
我将此作为viewDidLoad
的最后一行,但如果您愿意,可以将其挂在xib中