- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Storyboard和新的 NSTabViewController 类为我的应用程序创建一个首选项面板。
我可以让它工作,但是 Storyboard中的过渡设置似乎被忽略了。它只是从一个选项卡跳到下一个选项卡,窗口的大小会瞬间改变。
我认为这可能取决于我是否使用自动布局,但当我切换它时它似乎并没有改变转换行为。
我还选中了“传播标题”设置。我原以为它会采用选项卡项的标签或 View Controller 的标题,并将其传播为窗口标题,但它似乎并没有这样做。
有人能做到这一点吗?
这是我正在测试的一个简单的示例应用程序:https://www.dropbox.com/s/roxaplxy5gtlqns/Again.zip?dl=0
更新:感谢皮埃尔,让这个工作得以实现。最终通过子类化 NSTabViewController 制作了一个很好的转换首选项窗口,如下所示:
@implementation MCPreferencesTabViewController
-(void)tabView:(NSTabView *)tabView willSelectTabViewItem:(NSTabViewItem *)tabViewItem
{
[super tabView:tabView willSelectTabViewItem:tabViewItem];
NSTabViewItem *currentTabItem = tabView.selectedTabViewItem;
currentTabItem.view.hidden = YES;
tabViewItem.view.hidden = YES;
NSWindow *window = self.view.window;
NSSize contentSize = tabViewItem.view.fittingSize;
NSSize newWindowSize = [window frameRectForContentRect:(CGRect){CGPointZero, contentSize}].size;
NSRect frame = [window frame];
frame.origin.y += frame.size.height;
frame.origin.y -= newWindowSize.height;
frame.size = newWindowSize;
[self.view.window setFrame:frame display:NO animate:YES];
}
- (void)tabView:(NSTabView *)tabView didSelectTabViewItem:(NSTabViewItem *)tabViewItem
{
[super tabView:tabView didSelectTabViewItem:tabViewItem];
tabViewItem.view.hidden = NO;
}
@end
最佳答案
您需要使 NSTabViewController 成为 NSTabView 的委托(delegate)。
在 Interface Builder 中,按住 Control 键从“无阴影选项卡 View ”拖动到“选项卡 View Controller ”并设置委托(delegate)导出。
人们会期望 Interface Builder 在创建新的选项卡 View Controller 时正确设置它。事实并非如此。
关于cocoa - NSTabViewController 忽略转换和标题传播设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27488481/
我正在尝试使用 Storyboard和新的 NSTabViewController 类为我的应用程序创建一个首选项面板。 我可以让它工作,但是 Storyboard中的过渡设置似乎被忽略了。它只是从一
我将 NSTabViewController 作为工作表呈现。我找不到增加呈现窗口的工具栏和工作 TableView Controller 的 TabViewItem 之间的空间的方法。是否可以调整此
我正在尝试学习一些 Mac 编程,因此我正在尝试编写一个小型单窗口应用程序,该应用程序的导航位于侧边栏中。通过这个侧边栏按钮,我想更改 Container View 中显示的 View 。我在下面上传
我有一个 NSTabViewController,它附加了 6 个选项卡(NSViewController)。在 IB 中,我可以从一些预定义的过渡中进行选择,但我不喜欢其中任何一个。所以我的问题是:
我在 NSTabViewController 中遇到了 NSCollectionView 的奇怪行为。 我认为这个问题是在我升级到 High Sierra 时出现的(但不确定)。 我的应用程序有四个选
在 10.10 中,Apple 通过 Storyboard 和一些类引入了 AppKit 的一些更新。其中之一是 NSTabViewController。 在 WWDC Session 212 中,演
我有一个我创建的 macOS 应用程序。我有一个使用 swift & storyboard 构建的 Preferences 窗口,带有一个样式为 NSTabViewController 的 table
我有一个主 NSTabViewController有几个标签: class MainTabViewController: NSTabViewController { override func
Apple 的 NSTextField 和 NSTextView,甚至 TextEdit 应用程序都能够检测和使用 New Tai Lue 的特殊字体。字符,如 ᦀᦐᦑᦁ - 一旦检测到字符,字符串/
我想在我的 Mac 桌面应用程序中拥有选项卡菜单,每个选项卡将显示 progresbarr(从互联网加载内容),然后加载数据。我想在每个页面中使用相同的 LoadingViewController ,
有人知道如何在 NSTabView 中隐藏标签栏吗?目前只有 iOS 版本,但我需要 OSX 的解决方案。 这是我的 Storyboard: 我想隐藏标签栏...我必须在哪里执行此操作以及如何执行此操
(我正在使用 Storyboard和 swift。) 我目前有一个 NSWindowController,它有一个 NSTabViewController 作为 contentViewControll
NSTabViewController 仅在 OS X v10.10 中引入,因此 NSTabView 已经提供了创建选项卡 View 所需的一切。你什么时候会使用 NSTabViewControll
在一个全新的 MACOS 应用程序项目(swift、 Storyboard)中,使用最新可用版本的 xCode (8.3),我无法使用添加到 Storyboard的 NSTabViewControll
我有一个带有 NSWindowController 的 Xcode 项目谁的contentViewController被设置为 NSViewController 的子类.我最近删除了 NSViewCo
我是一名优秀的程序员,十分优秀!