gpt4 book ai didi

类似于 iCal 的 Cocoa 弹出窗口

转载 作者:行者123 更新时间:2023-12-03 16:49:20 24 4
gpt4 key购买 nike

当用户在我的 NSTableView 中选择一个单元格时,我想打开一个覆盖窗口(弹出窗口),类似于在 iCal 中选择事件。在 iCal 中选择事件会显示一个用于编辑事件的窗口,但可以通过平滑地动画打开窗口并添加指向基础日历中事件的箭头来实现。有谁知道这里用的是什么?这是一堆隐藏/自定义 API 还是可供公众使用?

最佳答案

编辑器 Pane 似乎是一个带有自定义 View 的自定义无边框透明窗口(该 View 定义了形状,因此定义了它转换的阴影)。了解更多here 。您甚至可以使用 MAAttachedWindow .

关于动画,就像要求窗口的动画师为框架和 alpha 值设置动画(将它们组合在一起)一样简单。您可能希望首先将所有内容直接设置在其“开始位置”(即,当窗口位于屏幕外时,将其 alpha 设置为零,并将其框架设置为某个较小的版本,以便它像 iCal 一样“放大” ),然后将其放在屏幕上并启动分组动画:

[NSAnimationContext beginGrouping];
[[window animator] setFrame:someNewSlightlyLargerFrame];
[[window animator] setAlphaValue:1.0];
[NSAnimationContext endGrouping];

分组结束后,动画将开始(异步),并且代码将继续执行。需要考虑的事情是首先将所有内容“暂存”(包括确保窗口的 subview 已提前更新,这样它们就不会在动画中间发生变化......除非您希望它们这样做)。

因此,您需要了解的两种不同的技术是自定义窗口和基本的 Cocoa 动画。

关于类似于 iCal 的 Cocoa 弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1719674/

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