WebView - 无法设置(contentViewController)用户定义的检查属性(NSWindow)

时间:2015-04-25 18:50:31

标签: xcode macos webview

我从头开始创建一个新的Xcode项目,编译得很好。

我向View Controller添加了一个标签,这个编译/运行/显示正常。

然后我将WebView拖入View Controller,但在运行应用程序时收到此消息:

Failed to set (contentViewController) user defined inspected property on (NSWindow): *** -[NSKeyedUnarchiver decodeObjectForKey:]: cannot decode object of class (WebView)

我做错了什么?

4 个答案:

答案 0 :(得分:4)

一般链接Webkit.framework->链接框架和库

答案 1 :(得分:0)

首先,您需要定义Web视图,以便它实际上知道它现在正在做什么,试图找到在这里运行的内容,请参阅youtube上的教程等,这是我用于的代码我的,只是为了设置它。 首先,您要将Web视图放入视图控制器并在其底部添加工具栏。 在栏上添加四个栏按钮项。 并在两者之间放置一个固定的空间。

然后您需要设置它们的样式,方法是转到属性检查器>按钮类型>选择风格 为按钮选择以下内容第一个是倒带第二个是前进第三个是刷新最后一个是取消。

然后控制单击并将按钮拖动到Web视图,它将为您提供加载倒带和刷新等选项。

然后转到故事板并确保连接了主文件和头文件,通过选择故事板文件中的视图控制器来执行此操作 将类更改为要连接的视图控制器。 然后按回车

转到头文件(.h)并插入以下代码

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

将它放在带有括号的@interface下,但要确保代码不在括号内。

然后您需要做的是转到主文件(.m)并插入以下代码

@interface WebViewController ()

@end

@implementation WebViewController


- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil

{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        //custom initialization
    }
    return self;
}

- (void)viewDidLoad {



    NSURL *url = [NSURL URLWithString:@"https://www.google.com"];
    NSURLRequest *requestURL = [NSURLRequest requestWithURL:url]; [_webView     loadRequest:requestURL];
    [super viewDidLoad];
    // Do any additional setup after loading the view.
}
显然你需要更换空隙或者过去到正确的位置 然后使用iOS模拟器iPhone 6构建并运行您的代码。

希望这有助于度过美好的一天!

答案 2 :(得分:0)

您应该使用webFrame的错误属性WebView而不是 mainFrame

if let url = NSBundle.mainBundle().URLForResource("index", withExtension: "html"){
    editorWebView.mainFrame.loadRequest(NSURLRequest(URL: url))
}

答案 3 :(得分:0)

我不认为你做错了什么。它只是一个错误