这是我为图像提供交叉解析效果的代码
- (void)viewDidLoad
{
[super viewDidLoad];
typedef enum
{
UIViewAnimationOptionTransitionCrossDissolve,
UIViewAnimationOptionTransitionCurlDown,
UIViewAnimationOptionTransitionCurlUp,
UIViewAnimationOptionTransitionFlipFromBottom,
UIViewAnimationOptionTransitionFlipFromLeft
} UIViewAnimationOptions;
[UIView animateWithDuration:1.0 animations:^(void){
[UIView setAnimationTransition: UIViewAnimationOptionTransitionCrossDissolve forView:img cache: YES];
} completion:^(BOOL finished){
[UIView animateWithDuration:1.0 animations:^(void){
[UIView setAnimationTransition: UIViewAnimationOptionTransitionCrossDissolve forView:img cache: YES];
} completion:^(BOOL finished){
}];
}];
}
但是我得到一个警告隐式转换从枚举类型'枚举UIViewAnimationOption到不同的枚举类型uiviewanimation过渡。
但是如果我给 UIViewAnimationTransitionFlipFromRight,UIViewAnimationTransitionCurlUp ..... 它正在运行,但是animatewithoptions正在发出警告。
任何人都可以帮助我吗?
答案 0 :(得分:2)
您正在使用UIViewAnimationOption
的枚举。
为UIViewAnimationTransition
定义的枚举是:
typedef enum {
UIViewAnimationTransitionNone,
UIViewAnimationTransitionFlipFromLeft,
UIViewAnimationTransitionFlipFromRight,
UIViewAnimationTransitionCurlUp,
UIViewAnimationTransitionCurlDown,
} UIViewAnimationTransition;
请检查UIView Class以供参考。
同时删除您定义的枚举,不需要它。 iOS已经有UIView
类的枚举。
答案 1 :(得分:0)
你不需要输入动画选项enum,它已经完成了
错误告诉您出现了什么问题,当方法需要UIViewAnimationOption
UIViewAnimationTransition
类型
动画转换的有效选项是:
typedef enum {
UIViewAnimationTransitionNone,
UIViewAnimationTransitionFlipFromLeft,
UIViewAnimationTransitionFlipFromRight,
UIViewAnimationTransitionCurlUp,
UIViewAnimationTransitionCurlDown,
} UIViewAnimationTransition;