关于CALayer的两个问题

发布于 2024-12-07 10:47:48 字数 226 浏览 0 评论 0原文

  • 使用 [myLayer setName:@"layer_1"] 设置图层的名称。但我怎样才能从另一种方法得到它呢?是否有类似 [self.view.layer.sublayers getLayerByName:@"layer_1"] 的内容?
  • 如何为CALayer设置动画以将其移动到另一个位置并具有良好的平滑效果?
  • with [myLayer setName:@"layer_1"] I set the name of a layer. But how can I get it from another method? Is there something like [self.view.layer.sublayers getLayerByName:@"layer_1"]?
  • how to animate a CALayer to move it to another position with a nice smooth effect?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

不寐倦长更 2024-12-14 10:47:48

name 属性主要供某些布局管理器使用,但 iOS 上不存在布局管理器,因此此时它真正有用的就是调试。

至于动画,如果您使用自己创建的 CALayer,则在更改属性时将获得隐式动画。您可以使用 CAAnimation 子类,您还可以使用 CATransaction

如果您使用与 UIView 关联的图层,则所有隐式动画都会被禁用。您仍然可以使用 CAAnimation 子类创建显式动画,也可以使用 UIView 动画方法

The name property is primarily intended for use by some layout managers, except layout managers don't exist on iOS, so all it's really useful for at this point is debugging.

As for animation, if you're using a CALayer you created yourself, you'll get implicit animations when you change properties. You can set explicit animations using the CAAnimation subclasses, and you can also tweak some parameters of the implicit ones with CATransaction.

If you're using a layer that's associated with a UIView, all implicit animations are disabled. You can still create explicit ones with the CAAnimation subclasses, or you can use the UIView animation methods.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文