问题标签 [nsanimation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
6614 浏览

cocoa - 如何用动画实现 NSTrackingArea 的 mouseEntered/Exited?

我想实现一个功能,当用户将鼠标悬停在特定区域上时,新视图会出现类似抽屉的动画。而且,当用户离开特定区域时,抽屉应该以动画形式消失。这正是您在 OS X 中将鼠标悬停在屏幕底部时所看到的,其中 Dock 会随着动画的出现和消失。

但是,如果我用动画实现该功能,则在动画完成之前重新进入特定区域时,它无法正常工作mouseExited:。这是我的代码:

在这段代码中,我drawerView通过改变它的x位置来制作动画。但是,正如我所说,当您进入跟踪区域然后离开跟踪区域时,抽屉可以正常工作。但是,如果在离开动画完全完成之前重新进入跟踪区域,则情况并非如此。

当然,如果我将动画持续时间设置得更短,例如0.1,这种情况很少发生。但我想用动画移动视图。

我想要做的是让drawerViewstart 再次出现,即使视图还没有完全消失。有什么练习可以做到吗?

0 投票
1 回答
375 浏览

macos - NSAnimation 移除按钮背景颜色

我正在开发一个 Mac 应用程序。我正在尝试做一个简单的动画,使 NSButton 向下移动。动画效果非常好,但是当我这样做时,我的 NSButton 的背景颜色由于某种原因消失了。这是我的代码:

按钮下移动画:

在此处输入图像描述

下移动画后的按钮:

在此处输入图像描述

更新 1

为了清楚起见,我没有在按钮中使用背景图像。我正在使用我在 viewDidLoad 方法中设置的背景 NSColor,如下所示:

0 投票
1 回答
1186 浏览

macos - CGAffineTransformMakeScale 不工作 - OS X - 可可

我有一个正在开发的简单 Mac 应用程序。我希望能够在 NSButton 上应用变换并使其更大。其大小的两倍。但是我的代码不起作用,它只是将按钮滑到一个角落。有谁知道出了什么问题?

更新 1

我尝试了以下,但它没有做任何事情:(

更新 2

这是我的代码 sudo,希望这会有所帮助:

我的头文件(.h)文件:

我的实现(.m)文件:

我也没有用于Auto Layout我的 UI 文件。

谢谢,丹。

0 投票
1 回答
211 浏览

objective-c - 使用 NSAnimation 使用自动布局从外部视图移动 NSView

我在我的项目中使用自动布局,并在按下按钮时在“平铺视图”上滑动“详细视图”。

“平铺视图”与顶部、底部、左侧和右侧对齐。“详细视图”与中心 x、y 对齐且宽度/高度相等。

我让动画工作,但我不得不使用两种不同的方法:

1)这是我首选的动画方法,在“平铺视图”上效果很好

2) 由于上述动画不适用于“详细视图”,因此我使用了不同类型的动画。(我为 centerX 约束创建了一个出口,名为 _detailedCenterXConstraint)

这种方法的问题是动画彼此不匹配。我尝试在 (2) 中使用自定义 CAMediaTimingFunction 来匹配 (1) 中的动画时间,但似乎我没有正确使用它。

CAKeyframeAnimation (1) 不能在我的“详细视图”上工作是否有原因?

或者有没有办法匹配两种方法之间的动画时间?

0 投票
0 回答
147 浏览

swift - NSAnimation 不适用于 NSTextField 颜色

我想使用动画设置 NSTextField 的文本颜色,我尝试了以下代码,但它不起作用。它会立即更改颜色,而不会为颜色过渡设置动画。我如何解决它?

0 投票
1 回答
52 浏览

objective-c - menuitem 视图的动画出现闪烁

flash 动画 我将 CalendarViewController 的视图设置为 menuitem.view,当触摸 menuitem.view 的底部时,menuitem.view 将开始动画,但我发现动画出现闪烁。我该怎么做才能使动画变得更加流畅。

}

0 投票
1 回答
473 浏览

cocoa - 目标 c 中的动画过渡

如何给NSView动画?ios中用于动画的函数如下。

我想在 mac os 中使用相同的功能来制作动画。那么如何在给定参数的情况下为 mac os x 使用这个函数呢?

0 投票
1 回答
1115 浏览

cocoa - 使用 NSView.layoutSubtreeIfNeeded() 动画自动布局约束在 macOS High Sierra 上不起作用

我有一个基本的 Mac 应用程序,其视图动画通过自动布局完成:

  • 我在当前视图的右侧添加了一个新视图
  • 我更新了约束,以便新视图最终填充窗口

→ 动画将使它看起来好像视图从右侧滑入。

动画自动布局更改的推荐方法是:

  1. 更新约束
  2. 利用NSAnimationContext.runAnimationGroup()
  3. 设置allowsImplicitAnimationtrue动画块内
  4. view.layoutSubtreeIfNeeded()在动画块内调用

我遵循了这个建议,在 macOS Sierra 上一切正常,但在 macOS High Sierra 上,动画不再发生。相反,视图显示在其最终位置,没有动画。

我找到了一种解决方法:我使用DispatchQueue.main.async. 但是,这似乎是一个 hack,我想知道这里是否还缺少其他东西。

这是我的实际代码:

0 投票
2 回答
220 浏览

macos - 如何使用曲线为 NSView 设置动画

我知道如何NSView使用 为对象设置动画+[NSAnimationContext runAnimationGroup:completionHandler:],但我看不到在这种类型的动画上设置动画曲线的方法。我看到它NSAnimation有一个包含NSAnimationCurve参数的 init 方法,但我无法弄清楚如何使用此方法指定动画期间实际发生的情况。的文档NSAnimation真的很难理解,我找不到任何示例。因此,如果有人可以解释我如何向NSAnimationContext动画添加曲线或在动画中指定NSAnimation动画,那将非常有帮助。提前致谢!

0 投票
1 回答
59 浏览

swift - 如何快速实现 NSAnimationEffect

NSTableView当我通过将项目拖出窗口来从项目中删除项目时,我正在尝试播放动画。

根据文档,它通常使用。NSAnimationEffect.

这些效果用于指示从集合(例如工具栏)中删除了一个项目,而不删除基础数据。参见 NSShowAnimationEffect( : : : : : :)。

但我不确定如何使用它。