- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我对 AppKit 和 Cocoa(来自带有 CocoaTouch 的 UIKit)相当陌生,我目前正在实现一个折叠 NSWindow 的界面。在 iOS 上,这相当容易,但我选择询问与 OS X 有很多细微差别。
您将如何实现以下过渡?
注意:底部栏是我的 contentView 的一部分,而不是 OS X 提供的底部栏。 IE。我的窗口(顺便说一下 INAppStoreWindow)由 titleBar 和 contentView 组成。
我想我可以只折叠 contentView 并同步调整窗口大小,但如果我能够在折叠时保持透明度,这是由于透视变换而发生的。 IE。向内弯曲的侧面应该(在过渡期间)是透明的。还是我想多了?
最佳答案
首先是坏消息:与 UIKit 不同,AppKit 不使用 Core Animation 来呈现其控件。所有的 CALayer 都在 NSView 的特殊层托管实例中居住在他们自己的世界中。因此,除非您的窗口的内容 View 是图层托管的,否则您不能在没有相当程度的黑客攻击的情况下将 CAAnimations 应用于整个窗口的内容(可能会将整个内容 View 呈现为位图,将其设置为图层的内容,并对其执行转换。我不确定)。
希望您的内容 View 是基于核心动画的。如果是这样,您描述的方法应该有效。您还应该能够将图层托管在透明的无边框 NSWindow 中,然后您对内容 View 所做的任何转换都会显示其后面的桌面。这是一个应该做你想做的事情的片段(来自 Matt Long):
- (id) initWithContentRect: (NSRect) contentRect
styleMask: (unsigned int) aStyle
backing: (NSBackingStoreType) bufferingType
defer: (BOOL) flag
{
if (![super initWithContentRect: contentRect
styleMask: NSBorderlessWindowMask
backing: bufferingType
defer: flag]) return nil;
[self setBackgroundColor: [NSColor clearColor]];
[self setOpaque:NO];
return self;
}
关于macos - "Fold"使用 CoreAnimation 的 NSWindow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10962581/
就在appdelegates中,applicationDidBecomeActive。我创建并启动一个线程,这个线程等待异步下载然后保存数据: - (void)applicationDidBecom
我有一个非常简单的 CA 演示。它使用图像文件中的内容创建一个图层,并显示该图像。当您在窗口中单击时,它会使用隐式动画将图像平滑地移动到鼠标点。这工作正常,运行完美流畅。但是,随着窗口变大,平滑度会变
我有一个 CALayer A 和一个子层 B我想要调整 A 的大小(缩小),所以我将动画添加到我的图层 A但是当我提交动画子层 B 时并没有缩小。它的大小保持不变(但它的位置随着其 super 层边界
我正在尝试对图层的背景颜色从红色到蓝色进行简单的 CABasicAnimation。 添加动画并设置模型层的最终值后,动画闪烁为蓝色,然后再次变为红色,并动画为蓝色。 我的代码是: override
我经常面临对 View 进行动画处理并将其恢复到其原始值的要求。 (类似于在 Tap 上放大 UIImageView 并返回) 是否有更优雅的解决方案来跟踪原始值,而不是创建类字段并在 viewDid
我目前正在这样做: NSData *response = [NSURLConnection sendSynchronousRequest:request returningRespon
我想做的是左右旋转 View ,同时上下移动它的位置。 这是我的代码: CGAffineTransform leftWobble = CGAffineTransformRotate(CGAffineT
我有一个 CAKeyframeAnimation,它在风景中看起来很棒,但是当设备旋转时,与其余内容相比,动画当然不合适。有没有办法调整(缩放)正在进行的动画的路径? 编辑:添加代码
我正在尝试从 UIView vertical flip animation 的答案中运行代码问题,我在 Xcode 中不断收到此错误: error: Semantic Issue: Assigning
我正在尝试创建一个相当简单的 CoreAnimation 以用于 AVComposition。我的目标是创建一个 CALayer,它通过各种子层淡入淡出标题,然后淡入淡出图像。基本上是幻灯片。这正在使
布局 在uiview中与位置,尺寸有关的属性有 frame bounds center在此不多赘述,在calayer中同样有与其相对应的属性 frame bounds position 需要注意的
CoreAnimation(一)CALayer CoreAnimation 算是一个大话题 ,要实现很多炫酷的动画,必须掌握它,掌握它之前 ,先来了解CALayer — 图层 CALayer 我们平常
当核心动画在其上运行时,是否可以将一个 View 保留在另一个 View 之上? 我正在从顶部和底部滑入和滑出 View 。目前,滑出的 View 滑过当前可见的所有其他 View 的顶部,我想知道是
我正在尝试绘制一个棱镜并使用 CoreAnimation 对其进行动画处理。但我找不到一个好的解决方案来绘制彩虹色的扇子。 有几种方法可以做到这一点,每种方法都有缺点: 我可以简单地使用图像。但我允许
我凭经验接近核心动画和绘图。我正在尝试为一个简单的形状设置动画;所讨论的形状由 3 条线加上一条贝塞尔曲线形成。还绘制了一条红线,以显示曲线控制点。 alt text http://img.skitc
我正在尝试执行一些全屏动画效果,例如移动/缩放窗口以及文件如何“跳转”到 Safari 中的下载文件夹的效果。 我的第一次尝试是使用 NSImageView 内容 View 创建窗口,并使用 Core
我正在创建一个自定义(层托管)文档 View ,它包含在 ScrollView 中。根层有两个大小相同的子层——一个用于 View 的内容,另一个用于需要悬停在主要内容上的任何内容。我将框架设置为 2
我正在用核心动画做一些动画,但我找不到一种方法来知道动画 block 何时完成的通知或事件,就像在 UIVIew 动画 block 中一样 setAnimationDidStopSelector: 我
我希望有一个倒计时指示器,就像一个圆圈,从一段拱形开始到一个完整的圆圈。 我试了好几种方法,最后都是拱形直接转成一个完整的圆,而不是顺时针转。演示图片如下: 有什么想法吗?非常感谢! 最佳答案 Set
出于各种原因,我使用 CADisplayLink 手动制作动画: - (void)update:(CADisplayLink *)sender; { // Linearly interpola
我是一名优秀的程序员,十分优秀!