【发布时间】:2011-04-25 03:11:19
【问题描述】:
我有一个带有 IKImageBrowserCell 子类的自定义图像浏览器视图,我在其中添加了一个小标志图形,我想在某些情况下制作动画。
这有点像 Panic 的 Coda Sites 视图上的“i”符号(我猜这是自定义的 ImageBrowserView ......对吗?)。在 Coda 的站点视图中,如果您将鼠标悬停在一个项目上,小 i 会淡入并在您悬停时消失。
试图重现这种效果,但我很挣扎。
我对 IKImageBrowserCell 进行了子类化,并且在 layerForType.. 期间保存了对标志层的引用。
然后当鼠标经过我试图改变不透明度但它没有改变。
悬停检测代码本身有效,我从 NSLogs 知道,但 CALayer (signLayer.opacity = 1.0) 的隐式动画永远不会启动。
有什么建议吗?
也许我遗漏了一些东西(对核心动画来说有点新)。
谢谢
【问题讨论】:
-
通过调试/日志记录,您看到在您更改不透明度时 signLayer 不是 nil 吗?请记住,如果您尝试设置 nil 实例的不透明度,它不会崩溃。
-
@Aviad。我检查的第一件事:)那里肯定有一个CALayer
-
并且您确定该图层以其他方式显示(假设它被初始化为不透明度为1?)。可能是它 needsDisplay 或者它是如此隐形以至于无法捕捉到悬停(尽管你说你检查过)
-
@Aviad。也试过了。我从 0.5 的不透明度开始,以确保它在那里。 needsDisplay 似乎没有任何改变。
标签: objective-c cocoa core-animation calayer ikimagebrowserview