ios - 如何在mac应用程序中使用tabbar

标签 ios cocoa-touch cocoa cocoa-design-patterns

我正在尝试开发 mac 应用程序(cocoa 应用程序)。我已经在 iphone 应用程序中成功使用了 tabbar。但是在开发mac应用时,如何使用tabbar呢?

当我们在 iphone 应用程序中使用标签栏时,我想为 Mac App(cocoa 应用程序)实现相同类型的功能。

有什么想法吗?这怎么可能?

最佳答案

当您提到“tabbar”或“Tababr”时,我认为您是在谈论 NSTabView...

您不需要在一个 AppDelegate 中编写整个应用。

您可以将 AppDelegate 添加为 NSTabView 的委托(delegate),然后实现 tabView:didSelectTabViewItem:。这允许您拦截用户对不同选项卡的请求。只需为您的选项卡 View 创建一个导出并设置委托(delegate):

[[self tabView] setDelegate: self]

基于请求的选项卡,您可以创建与该选项卡关联的 View Controller 并将 NSView 加载到选定的选项卡中。像这样的东西:

- (void)tabView:(NSTabView *)tabView didSelectTabViewItem:(NSTabViewItem *)tabViewItem {

  MyViewController aController = [[MyViewController alloc]
    initWithNibName: @"MyView" bundle: [NSBundle mainBundle]];
  [tabviewItem setView: [aController view]];

}

我不确定您是否需要将 NSTabViewDelegate 作为协议(protocol)添加到您的 AppDelegate,但如果 Xcode 标记警告,您会注意到:

@interface MyAppDelegate : NSApplicationDelegate <NSTabViewDelegate>

希望这对您有所帮助。否则,您需要详细说明您的要求。

关于ios - 如何在mac应用程序中使用tabbar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8847174/

相关文章:

ios - 我应该在我的开源项目中包含自定义类别吗?

iOS - 如何在 "touchesMoved:"方法中用手指绘制平滑线

cocoa - 准备 Mac 应用程序以上传到 App Store

iphone - 将记录加载到 TableView -(“更多”按钮)

cocoa - 如何计算 NSTextView 中选定文本的正确坐标?

cocoa - 是否可以将 Facebook iOS API 移植到普通的 OSX 桌面应用程序?

ios - 如何为在 while 循环中创建的 SKSpriteNode 创建变量,以检查 Sprite 是否有触摸

ios - [NSDate date] 在多个设备中的不同结果

iphone - 缓存数据的最佳实践是什么?

iphone - 如何增加UIProgressView的高度