iphone - CAL层深度

标签 iphone ios core-animation cabasicanimation quartz-core

所以,我很容易拥有 UIButton,而我的 bytton 的标题是 - “title”;)

我只想通过以下步骤为 UIButton 的 titleLabel 设置动画:

1) 通过 Y 将标签动画化为 M_PI/2。 (有点“翻转”动画但是一半)

2) 用“NewTitle”替换按钮的“Title”

3) 通过 Y 返回动画标签。

enter image description here

所以我有:

CABasicAnimation* flipAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.y"];
flipAnimation.toValue = [NSNumber numberWithFloat: M_PI/2];
flipAnimation.duration = 3;
flipAnimation.delegate = self;
[self.testButton.titleLabel.layer addAnimation:flipAnimation forKey:@"flip"];

动画时,文本的一半是不可见的。 我明白为什么会这样,但不知道如何避免。

谢谢你的帮助。

enter image description here

最佳答案

尝试在开始动画之前将转换的 z 值设置为标签宽度的大约 1/2 的(负?)值 这应该将标签提升到按钮上方,这样它的一半就不会消失在按钮后面因为它绕着它的 Y 轴旋转。

编辑:实际上,设置图层的 zPosition 属性可能会更好。这应该在不影响其外观尺寸的情况下将该层移动到其他层之上。

关于iphone - CAL层深度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13611083/

相关文章:

java-apns 与 http 代理问题

ios - 如何让核心动画显式动画的行为方式与隐式动画完全相同?

ios - 渐进式应用程序不再支持 Google OAuth?

ios - 自动保存和加载使用

ios - 动画在开始前延迟

ios - 如何应用复杂的 CALayer 变换更改?

ios - 如何在 facebooksdk v4.0.1 上更新 FBRequest.requestForMe()?

ios - 在闭包中管理封装数据

iphone - 如何使用 Objective C 在 SQLite 中获取日期时间列

ios - 在 Swift 中使用 Facebook 自定义登录获取用户信息