在特定位置启动 CATransition

Posted

技术标签:

【中文标题】在特定位置启动 CATransition【英文标题】:Start CATransition at specific location 【发布时间】:2010-08-03 18:21:44 【问题描述】:

我有一个向下移动视图的 CATransition(下面的代码)。如何指定动画开始的位置,例如 60、30。

这是我目前使用的代码:

CATransition *animation = [CATransition animation];
[animation setDuration:0.5];
[animation setType:kCATransitionPush];
[animation setSubtype:kCATransitionFromBottom];
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];

【问题讨论】:

【参考方案1】:

编写你自己的计时函数来做你想做的事?

编辑:我最初建议您将 CAMediaTimingFunction 子类化,但看起来这可能不会做正确的事情。相反,尝试设置 CATransition.startProgress,尽管它是 [0,1] 中的值,而不是像素数(如果您使用的是线性动画,那么它应该很容易转换)。

不过,我仍然不完全确定“动画开始的位置”是什么意思——过渡适用于整个视图边界。普通的 UIView 动画可能更有可能做你想做的事。如果您提供更多详细信息,则更容易弄清楚您要解决的问题是什么。

【讨论】:

怎么样??抱歉,仍然是 Quartz 的菜鸟

以上是关于在特定位置启动 CATransition的主要内容,如果未能解决你的问题,请参考以下文章

根据字符串名称而不是列表视图项位置替换片段并启动活动

如何以特定位置为中心然后缩放到当前位置

应用在后台时启动 CLLocationManager 位置更新

uboot的作用和启动方式

uboot的作用和启动方式

iOS:提醒用户特定地理位置区域(纬度,经度)