gpt4 book ai didi

cocoa - 如何在显示模态表时禁用 Cocoa 的默认动画?

转载 作者:行者123 更新时间:2023-12-03 16:15:09 25 4
gpt4 key购买 nike

我想禁用 Cocoa 在显示模态表时执行的动画。

苹果的Sheet Programming Guide状态:

... Other sheet behavior, such as the animation when it appears and is dismissed, is handled automatically by the Application Kit.

但它没有提供任何有关如何禁用此效果的提示。

我创建了一个自定义工作表(NSWindow 的子类,具有透明背景和其中的一些控件)。我可以使用标准 beginSheet 方法显示它,如下所示:

[NSApp beginSheet:myCustomSheet
modalForWindow:mainWindow
modalDelegate:self
didEndSelector:...];

工作表显示正常,但它在出现时会经历一个动画,在关闭时又会经历一次动画。

注意:我正在为触摸屏/信息亭类型应用程序编写一个完全定制的用户界面,因此通常的 Apple 用户界面指南均不适用。

最佳答案

这是一个疯狂的猜测(我懒得尝试),但动画可能会使用核心动画来处理。如果是这样,您也许可以这样做:

[CATransaction begin];
[CATransaction setValue: [NSNumber numberWithBool: YES]
forKey: kCATransactionDisableActions ];
[NSApp beginSheet:myCustomSheet
modalForWindow:mainWindow
modalDelegate:self
didEndSelector:...];
[CATransaction commit];

关于cocoa - 如何在显示模态表时禁用 Cocoa 的默认动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3420281/

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