未声明的委托和shouldStartLoadWithRequest

时间:2013-12-04 16:23:17

标签: ios uiwebview webview delegates xcode5

我是一般的编码新手!我正在尝试创建一个不允许导航到观看者的webview。我有大部分编码类型,但我有两个未声明的错误,我不知道如何解决这个问题。

我想要做的是创建一个webView,但我想让它成为webView的查看器无法导航到其他页面的地方。如果他/她确实尝试了它也不能满足请求。所以基本上它专门保留在一个页面上。

如果我只是需要以非常简单的方式声明它们,那么请告诉我并提供帮助。谢谢。

错误如下所示:

#import "ViewController.h"

@interface ViewController()
<UIWebViewDelegate>

@end

@implementation ViewController
@synthesize webView;

- (void)viewDidLoad
{
[super viewDidLoad];
webview:delegate = nil;
NSURL *url = [NSURL URLWithString:@"https://twitter.com/u_bett"];
NSURLRequest *urlrequest = [NSURLRequest requestWithURL:url];
[webView loadRequest:urlrequest];

}
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request         navigationType:(UIWebViewNavigationType)navigationType
{
return NO;
}

1 个答案:

答案 0 :(得分:2)

您的方法包含很多问题:

更改为:

- (void)viewDidLoad
{
    [super viewDidLoad];
    webview.delegate = self;  
    NSURL *url = [NSURL URLWithString:@"https://twitter.com/u_bett"];    
    NSURLRequest *urlrequest = [NSURLRequest requestWithURL:url];
    [webView loadRequest:urlrequest];

}

实施shouldStartLoadWithRequest:之类的:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
    if(navigationType == UIWebViewNavigationTypeLinkClicked)
    {
        return NO;
    }
    return YES;
}

查看本教程中的UIWebView implementation。 我建议您在开始开发前彻底学习Objective C。 (此时的一些投资将帮助您节省大量时间)