使用 PNG 背景对 UIButton alpha 进行动画处理:为什么当动画从 alpha = 0 过渡到 alpha = 1 时会变成亮白色?

发布于 2024-11-28 12:56:42 字数 488 浏览 0 评论 0原文

这是一件让我难受的事;我有一个简单的 UIButton ,其背景为以下 PNG:

Button

我正在使用iOS 4 块动画,我所做的就是将其 alpha 属性从 0.0 动画到 1.0。然而,当动画正在进行时,UIButton 会变成亮白色,最后当属性达到 1.0 时看起来像上图一样。

我很困惑 - 例如,如果我在 Paint.NET 中打开该图像并将图像的不透明度从 0 滑动到 255,我会看到一个很好的淡入效果 - 这正是我想要的。但是,当我在 iOS 中设置不透明度变化的动画时,按钮在动画的中间部分会变成亮白色。

如果我将动画的持续时间延长一些,比如 5 秒,效果会更加明显。有什么想法吗?

编辑:我正在使用 Xcode 4.1,并运行 iOS 4.3.3(第一代 iPad)。

This is something that is stumping me; I have a simple UIButton with the following PNG as it's background:

Button

I'm using an iOS 4 block animation, and all I'm doing is animating it's alpha property from 0.0 to 1.0. However, while the animation is in progress, the UIButton gets bright white, before finally settling to look like the above image when the property reaches 1.0.

I'm pretty stumped - if, for example, I open that image in Paint.NET and slide the image's opacity from 0 to 255, I see a nice fade-in effect - which is exactly what I'm going for. But when I animate an opacity change in iOS, the button gets bright white during the middle part of the animation.

If I change the animation's duration to something extended, like 5 seconds, the effect is even more prominent. Any ideas?

Edit: I am using Xcode 4.1, and running iOS 4.3.3 (first gen iPad).

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

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

发布评论

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

评论(1

〆凄凉。 2024-12-05 12:56:42

经过深思熟虑,事实证明,问题是我的 UIButton 是一个 Round Rect 按钮;类型需要更改为自定义。尽管我为按钮设置的背景图像在类型为圆形矩形时有效,但向按钮应用 Alpha 动画仍然会导致在动画持续时间内显示默认的白色圆形矩形样式。这就是我的眼睛在动画过程中将其解释为“亮白色”的内容 - 它与我的 PNG 背景无关,而与我正在使用的按钮的基础类型有关。

问题解决了。这个故事的寓意是什么?如果您要在使用自己的背景图像时为按钮添加动画效果,请将 UIButton 类型更改为自定义

It turns out, after much consideration, that the issue was my UIButton was a Round Rect button; the type needed to be changed to Custom. Even though the background images I set for my button worked when the type was Round Rect, applying an alpha animation to the button still caused the default white Round Rect style to appear for the duration of the animation. That is what my eyes interpreted as "bright white" during the animation - it had nothing to do with my PNG background, and everything to do with the underlying type of the button I was using.

Problem solved. Moral of the story? Change your UIButton type to Custom if you're going to animate the button while using your own background images.

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