我遇到了cocoa问题,当我运行应用程序时,标签会按预期添加,但所有Web视图都会从url字段中获取相同的字符串。
基本上,如果我在一个标签上转到谷歌,那么它就会全部转到Google上。
有没有办法只让所选标签上的网页视图响应,而不是其他标签?
以下是代码:
- (IBAction)newTab:(id)sender {
NSTabViewItem *item = [NSTabViewItem new];
[item setView:_webView];
[item setLabel:@"New Tab"];
[_tabView addTabViewItem:item];
}
答案 0 :(得分:0)
您似乎正在创建新标签页,然后将WebView移动到该标签页。要为每个选项卡创建新的Web视图,您有一些选项,但一个是使用NSViewController:
- (IBAction) newTab: (id) sender
{
NSTabViewItem *item = [[NSTabViewItem alloc] init];
NSViewController *viewController =
[[NSViewController alloc] initWithNibName: @"WebView" bundle: nil];
WebView *webView = [viewController view];
[item setView: webView];
[_tabView addTabViewItem: item];
[_webViewControllers addObject: viewController]; // Store the view controller, remove when the user closes the tab.
}
这是一个关于视图控制器的教程:http://comelearncocoawithme.blogspot.fi/2011/07/nsviewcontrollers.html