【问题标题】:CAAnimation on a UIButtonUIButton 上的 CAAnimation
【发布时间】:2017-07-02 10:37:56
【问题描述】:

我一直在尝试创建一个简单的滑动过渡。然而,按钮似乎不受任何裁剪的 CAAnimation 的影响。

我试图让它在屏幕上移动一个条,当它越过按钮时,它会删除它刚刚越过的部分。

我已经尝试过 bounds.width、size.x 和许多其他键值路径来实现效果,但我没有得到我想要的。它只是重新定位始终完全可见的文本 我也尝试将 UIButton 更改为 UIImage,但文本似乎没有打印在 UIImage 上。 我也尝试过使用口罩,但我听说应该尽可能少地使用它们,因为它们会消耗手机资源。无论如何,我并没有真正做到这一点,因为我以前没有使用过它们。 我还尝试将它放在容器视图中,然后更改它的尺寸,但所有文本仍然完全可见。

我知道我可以让视图隐藏按钮,但我正试图在栏滑动时显示背后的视图。

有人对如何在 UIButton 上实现滑动过渡有任何建议吗?

我们将不胜感激。

谢谢

【问题讨论】:

  • 你试图运行的代码是什么?
  • 问题不在于代码不起作用。问题是不知道要写什么代码才能达到我想要的效果。

标签: xcode uibutton caanimation


【解决方案1】:

我认为您正在寻找的确实是一个面具。请参阅此处的教程: http://iosdevelopertips.com/cocoa/how-to-mask-an-image.html

在您的情况下,我要做的是创建一个自定义 UIButton 类,并像教程中一样添加一个蒙版,然后为蒙版的位置设置动画。滑动面具,什么都没有。滑动它,部分显示,直到整个东西都可见。

编辑:我还没有真正听说过占用资源,尤其是因为它看起来是简单的核心图形。

【讨论】:

  • 感谢 XenElement。我以前试过用口罩。但是,在本教程中,您建议它掩盖图像。我无法使 UIButton 成为图像,因为一旦我更改它,文本似乎就会消失。您知道将 UIButton 更改为 UIImage 并保留文本的方法吗?干杯
  • 保留文字是什么意思?保持按钮的标题可见?
  • 是的,由于某种原因,当我将其更改为 UIImage 时,按钮标题不再可见。如果您有办法做到这一点,我将不胜感激。如果我将它更改为 UIImage (并且文本仍然可见),那么我不仅可以为边界设置动画并创建我想要的效果吗?感谢您的帮助。
  • 理论上,您可以在按钮顶部添加一个 UILabel 以单独显示标题。然后根据需要为它后面的按钮设置动画。注意:请务必在标签上注明 userInteractionEnabled = FALSE。
  • 使用蒙版效果很好,您不需要将 UIButton 转换为 UIImage。很难说你的面具是怎么回事,这是我以前出错的地方,所以我建议更改背景颜色以提供帮助。
猜你喜欢
  • 1970-01-01
  • 2012-07-23
  • 2012-12-06
  • 1970-01-01
  • 2012-03-09
  • 1970-01-01
  • 2018-05-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多