以编程方式更改选项卡栏

4

当按钮被点击时,我想要改变选项卡视图。我有以下代码:

- (IBAction)startScratch:(id)sender {
     _mainTabBar.tabBarController.selectedIndex = 1;
        //Error: ^ Property tabBarController not found on type "NSTabView*"
}

这是需要翻译的内容:

这个 .h 文件中包含以下代码行:

@property (weak) IBOutlet NSTabView *mainTabBar;
- (IBAction)startScratch:(id)sender;

我假设我应该替换_mainTabBar,但如果是这样,应该替换成什么呢?

错误很明显,编译器会告诉你是什么。NSTabView没有名为tabBarController的属性。你想做什么? - user529758
我说了我想做的事情,就是在点击按钮时更改选项卡视图。我从这里找到了基本思路。再次强调,我很菜 Objective-C,所以不确定自己在做什么。 - dunnmifflsys
哎?那是针对iOS的……你不应该做出假设,而是应该阅读文档…… - user529758
1个回答

13
正如 @H2CO3 所提及的那样,在 NSTabView 中没有 tabBarController 属性。如果您阅读 文档,您会注意到 NSTabView 提供了一些选择方法,包括 -selectTabViewItemAtIndex:,您可以像这样使用它:
- (IBAction)startScratch:(id)sender {
    [_mainTabBar selectTabViewItemAtIndex:1];
}

请注意第一个选项卡的索引为0。

谢谢,我已经苦恼了一段时间。 - dunnmifflsys

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接