gpt4 book ai didi

swift - NSTabViewController - 如何创建自定义转换?

转载 作者:搜寻专家 更新时间:2023-10-31 08:08:11 24 4
gpt4 key购买 nike

我有一个 NSTabViewController,它附加了 6 个选项卡(NSViewController)。在 IB 中,我可以从一些预定义的过渡中进行选择,但我不喜欢其中任何一个。所以我的问题是:我如何进行自己的过渡?

PS:我在我的项目中使用 StoryBoards。

最佳答案

我使用以下方法取得了有限的成功(仍在寻找更好的解决方案,或消除出现的一些视觉问题)。

创建 NSTabViewController 的子类,确保将 Storyboard中选项卡 View Controller 的自定义类设置为新创建的子类。

默认情况下,NSTabViewController 在从一个选项卡 View 项切换到另一个时进行以下三个调用:

  1. tabView:willSelectTabViewItem:

  2. transitionFromViewController:toViewController:options:completionHandler:

  3. tabView:didSelectTabViewItem:

在您的自定义子类中,您可以覆盖 transitionFromViewController:toViewController:options:completionHandler: 来实现您自己的切换方法。

我使用了类似下面的东西:

- (void)transitionFromViewController:(NSViewController *)fromViewController
toViewController:(NSViewController *)toViewController
options:(NSViewControllerTransitionOptions)options
completionHandler:(void (^)(void))completion {

NSWindow *window = self.view.window;
NSView *superview = fromViewController.view.superview;

[superview replaceSubview:fromViewController.view with:blankView()];
[window resizeToSize:toViewController.view.frame.size]; // category defined elsewhere
[superview replaceSubview:blankView() with:toViewController.view];
window.title = toViewController.title;
}

关于swift - NSTabViewController - 如何创建自定义转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36509246/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com