可可 – NSTabViewController忽略转换和标题传播设置

可可 – NSTabViewController忽略转换和标题传播设置,第1张

概述我正在尝试使用故事板和新的NSTabViewController类为我的应用程序创建一个首选项面板. 我可以让它工作,但故事板中的过渡设置似乎被忽略.它只是从一个选项卡跳转到下一个选项卡,窗口的大小会立即更改. 我以为这可能取决于我是否使用autolayout,但是当我切换它时,似乎没有改变过渡行为. 我也有’传播标题’设置检查.我曾经期望它会选择标签项的标签或视图控制器的标题,并将其作为窗口标题 我正在尝试使用故事板和新的nstabviewController类为我的应用程序创建一个首选项面板.

我可以让它工作,但故事板中的过渡设置似乎被忽略.它只是从一个选项卡跳转到下一个选项卡,窗口的大小会立即更改.

我以为这可能取决于我是否使用autolayout,但是当我切换它时,似乎没有改变过渡行为.

我也有’传播标题’设置检查.我曾经期望它会选择标签项的标签或视图控制器的标题,并将其作为窗口标题传播,但它似乎不这样做.

有人有这个工作吗?

这是一个简单的示例应用程序,我正在测试:https://www.dropbox.com/s/roxaplxy5gtlqns/Again.zip?dl=0

更新:感谢PIErre的工作.通过对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的委托.

在Interface Builder中,将“No Shadow Tab VIEw”从“控件”拖动到“Tab VIEw Controller”,并设置代理插座.

人们期望Interface Builder在创建新的制表视图控制器时正确设置.它不是.

总结

以上是内存溢出为你收集整理的可可 – NSTabViewController忽略转换和标题传播设置全部内容,希望文章能够帮你解决可可 – NSTabViewController忽略转换和标题传播设置所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1025340.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存