0

これは、画像にクロスディゾルブ効果を与えるための私のコードです

- (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){

        }];
    }];
}

しかし、列挙型 'enum UIViewAnimationOption から別の列挙型 uiviewanimation 遷移への暗黙的な変換の警告が表示されます。

しかし、UIViewAnimationTransitionFlipFromRight、UIViewAnimationTransitionCurlUp .....を与えると動作しますが、animatewithoptions は警告を出しています。

誰でも私を助けることができますか?

4

2 に答える 2

2

の列挙型を使用していUIViewAnimationOptionます。

定義された列挙型UIViewAnimationTransitionは次のとおりです。

typedef enum {
   UIViewAnimationTransitionNone,
   UIViewAnimationTransitionFlipFromLeft,
   UIViewAnimationTransitionFlipFromRight,
   UIViewAnimationTransitionCurlUp,
   UIViewAnimationTransitionCurlDown,
} UIViewAnimationTransition;

参考までにUIViewクラスを確認してください。

また、あなたが定義した列挙型も削除してください。その必要はありません。iOS には既にUIViewクラスの列挙型があります。

于 2013-03-19T08:07:56.953 に答える
0

アニメーション オプションの列挙型を型定義する必要はありません。既に行われています。

エラーは何が間違っているかを示していますUIViewAnimationOption。メソッドが期待するときに型を渡していますUIViewAnimationTransition

アニメーション トランジションの有効なオプションは次のとおりです。

typedef enum {    
    UIViewAnimationTransitionNone,    
    UIViewAnimationTransitionFlipFromLeft,   
    UIViewAnimationTransitionFlipFromRight,    
    UIViewAnimationTransitionCurlUp,    
    UIViewAnimationTransitionCurlDown, 
} UIViewAnimationTransition; 
于 2013-03-19T08:01:53.977 に答える