2009-07-27 17 views
1

単純なアニメーションを実現したいのですが、アプリケーションが開始されてから数秒で画像がぼやけてしまい、完全に消えてしまいます。私はiPhoneで何もアニメーションをやったことがないので、私は立ち往生している。あなたは画像自体の不透明度を設定していないiPhone用のNSTimerと不透明度を備えたシンプルなアニメーション

[UIView beginAnimations]; 
myImageView.opacity = 0.0; 
[UIView commitAnimations]; 

request for member 'opacity' in something not a structure or union.

答えて

4

は画像をフェードアウトするには、コードのようにしたい:開発者用ドキュメントのようにimage.opacity = 1.0;のようなものを使用したとき、私はエラーを取得します画像を含むUIImageView(この例ではmyImageView)の不透明度と同じくらいです。 -beginAnimations-commitAnimationsへの呼び出しの間

[UIView setAnimationDuration: 1.5]; 

:あなたはまた、行を追加することで、アニメーションの持続時間を制御することができます。

2

あなたが探しているのは、view.alphaのように "alpha"というプロパティです。あなたは単に間違った名前を探していました。

法的なアルファ値は、0.0(完全に透明)から1.0(完全に不透明)までです。それはあなたが探しているものとまったく同じです。

上記のコメントで参照されているbeginAnimations/commitAnimationsパラダイムを使用してください。他の回答をまとめる

0

:画像をフェードアウトするには

は、あなたが望むようなコード:

// This line may not be necessary. 
myImageView.alpha = 1.0f; 

[UIView beginAnimations]; 
[UIView setAnimationDuration: 1.5]; 
myImageView.alpha = 0.0; 
[UIView commitAnimations]; 
0

上記の溶液は、私のプロジェクトでは動作しませんでした。私はこのようにそれをしなければならなかった....

**[UIView beginAnimations:@"myPic.png" context:nil];** 
    //You need to set the pic name 

[UIView setAnimationDuration: myTimer]; 
_myPic.alpha = 1.0f; 
_myPic.alpha = 0.0; 
[UIView commitAnimations]; 

これはあなたがフェードで、その後フェードアウトをしたいと思われる画像をフェードアウトする

よろしく フィリップ

0

です。しかし、時間の後にキックインする時間。アニメーション自体の長さだけではありません。

私はノーマルではありませんので、私は間違った場所にコードを持っている場合は私を許してください。

このことは、シミュレータおよびシングルビューアプリケーションでテストされました。

ViewControllerのUIViewに新しいUIviewを追加し、それをコンセントとして.hファイルにリンクしました。 (theViewという名前)

新しいUIView(theView)にUImageViewを追加し、属性インスペクタを使用してUImageViewのイメージを設定します。

enter image description here

そしてViewController.mファイルにコードを追加しました。

私がお見せしたい主なものは、遅延の後にデフォルトモードを使用して、現在のスレッドに受信機のメソッドを呼び出す

- (void)performSelector:(SEL)aSelector withObject:(id)anArgument afterDelay:(NSTimeInterval)delay

です。

(他のスレッド上で実行することができ、同様の方法がありますが...)

私は2つの方法にフェードイン1とフェードアウトものを作ってきました。

performSelectorsは2つあります。

ビューが読み込まれると、最初のビューが呼び出されます。

2番目はfadeInアニメーションブロックにあります。これをviewDidLoadまたはブロックの後に配置できます。しかし、私はそれがどこにあるのが安全だろうと思った。

ここに.mファイルのコードです。

#import "ViewController.h" 

@interface ViewController() 

@end 

@implementation ViewController 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 

    _theView.alpha = 0.0; 
    [self performSelector:@selector(fadeIn) withObject:nil afterDelay:2.0]; 
} 


- (void)fadeToBlack 
{ 
    [UIView animateWithDuration:3.0 
          delay:0.0 
         options:UIViewAnimationOptionCurveEaseIn 
        animations:^{_theView.alpha = 0.0;} 
        completion:nil]; 
} 

- (void)fadeIn 
{ 

    [UIView animateWithDuration:3.0 
          delay:0.0 
         options:UIViewAnimationOptionCurveEaseIn 
        animations:^{_theView.alpha = 1.0; [self performSelector:@selector(fadeToBlack) withObject:nil afterDelay:10.0];} 
        completion:nil]; 


} 


- (void)didReceiveMemoryWarning 
{ 
    [super didReceiveMemoryWarning]; 
    // Dispose of any resources that can be recreated. 
} 

@end 

これは本当に私はシムで[OK]を完全に(ViewControllers)に精通している。しかしその作品だ領域ではないと私は...ここに訂正を期待しています。

関連する問題