我用的是一个UIButton,上面有正常和高亮状态的图像.它们按预期工作,但我希望有一些衰落/合并过渡,而不仅仅是突然交换.

我该怎么做?

推荐答案

这可以使用UIView的过渡动画来完成.isHighlighted属性不可设置动画并不重要,因为它会转换整个视图.

Swift 3

UIView.transition(with: button,
                  duration: 4.0,
                  options: .transitionCrossDissolve,
                  animations: { button.isHighlighted = true },
                  completion: nil)

目标C

[UIView transitionWithView:button
                  duration:4.0
                   options:UIViewAnimationOptionTransitionCrossDissolve
                animations:^{ button.highlighted = YES; }
                completion:nil];

Objective-c相关问答推荐

Objective-C NSMutableArray 在枚举时发生了变异?

UICollectionView:一行或一列

等到多个网络请求都执行完毕 - 包括它们的完成块

向 iOS 应用程序添加自定义字体以查找其真实姓名

将未知数量的行添加到静态单元UITableView

声明变量id和NSObject *有什么区别?

Facebook 添加测试用户和管理员是:(待定),这是什么意思?

如何编写 Objective-C 完成块

在 NSString 对象中查找子字符串

从昨天开始无法将存档上传到应用store

如何制作真正的私有实例变量?

Xcode 在 iOS 8 中的 Main() 中引发异常,并带有所有异常断点

在字符串Objective-c中连接字符串

主队列上的 dispatch_sync 与 dispatch_async

检测 iOS 应用程序是否在调试器中运行

判断是否已实现可选协议方法

检测平移手势结束

选中时选中的 UItableViewCell 保持蓝色

更改导航栏的字体

如何将按钮放在不会在 iOS 中随表格滚动的 UITableView 上