ios - 如何在 xcode 中的选定和未选定状态之间交叉淡入淡出按钮?

标签 ios xcode button fade selected

我有两个按钮图像:一个用于正常状态,一个用于选定状态。 当我从选定状态更改回正常状态时,我希望在几秒钟内发生交叉淡化效果。

到目前为止我正在做的是使用两个 UIView 动画:第一个在选定状态下从 1.0 的 alpha 变为 .5 的 alpha。然后我切换到正常状态并执行第二个 UIView 动画,从 .5 的 alpha 到 1.0 的 alpha。

我对视觉效果并不满意(从所选图像突然过渡到正常图像)。我还读到不应再使用 UIView。那么这里正确的方法是什么?代码示例也会非常有用。

最佳答案

对我来说这很有效:

[UIView transitionWithView: button duration: 4.0 options: UIViewAnimationOptionTransitionCrossDissolve animations: ^{
    [button setSelected: !button.isSelected];
} completion: nil];

但是,当我将相同的 UIImage 设置为 UIControlStateHighlightedUIControlStateSelected 时,这有效三个以下电话(留下一个电话对我不起作用):

[button setImage: img forState: UIControlStateSelected | UIControlStateHighlighted];
[button setImage: img forState: UIControlStateSelected];
[button setImage: img forState: UIControlStateHighlighted];

关于ios - 如何在 xcode 中的选定和未选定状态之间交叉淡入淡出按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5255848/

相关文章:

ios - 如何检测在 ios 中的一组自定义按钮中点击了哪个自定义按钮

iphone - Xcode退出,iOS SDK中出现错误254

android - 2个带声音的按钮

Java:为什么我的 JButton 被绘制在背景图像后面?

java - Android-如何让移动的屏幕对象扩展Button

ios - 当设备连接到 Internet 连接时未收到所有通知

html - iOS - 将 HTML 转换为普通文本

ios - 解析iOS SDK : Query using UISearchDisplayController

ios - 在 Xcode 5.1 中使用 XCTAssertEqual 比较 CGPoint 时出错

swift - NavigationButton 中嵌入的自动调整图像大小的问题。它变成蓝色