【问题标题】:Change Tab Bar Programmatically以编程方式更改标签栏
【发布时间】:2013-06-14 06:04:01
【问题描述】:

我正在尝试在单击按钮时更改选项卡视图。我有这个代码:

- (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 的属性。你想做什么?
  • 我说的是我想要做的,当一个按钮被点击时改变标签视图。我从here 中找到了基本想法。再说一次,我的 Objective-C 很糟糕,所以我不确定自己在做什么。
  • 嗯?这是针对 iOS 的……您应该阅读文档,而不是做出假设……

标签: objective-c cocoa tabs


【解决方案1】:

正如@H2CO3 提到的,NSTabView 中没有tabBarController 属性。如果您阅读the documentation,您会注意到NSTabView 提供了一些选择方法,包括-selectTabViewItemAtIndex:,您可以这样使用:

- (IBAction)startScratch:(id)sender {
    [_mainTabBar selectTabViewItemAtIndex:1];
}

请注意,第一个选项卡位于索引 0。

【讨论】:

  • 谢谢,我已经为此苦苦挣扎了一段时间。
猜你喜欢
  • 1970-01-01
  • 2018-04-28
  • 1970-01-01
  • 1970-01-01
  • 2017-01-14
  • 1970-01-01
  • 1970-01-01
  • 2013-12-16
  • 1970-01-01
相关资源
最近更新 更多