2011-07-31 8 views
1

私はビューコントローラを持っています....ユーザーがボタンを押すと、黒い画面が上にフェードインし、uiactivityindicatorがフェードした画面の上に表示されます。フェードアウトされたスクリーン効果を作成するiphone

このアニメーションフェードはどのようにして有効になりますか?

-(IBAction) loginToApp:(id)sender{ 
    //fade in view 
} 

答えて

2

別のビューをビューの上に追加します。黒色の色付きです。あなたはIBで、あるいはプログラマチックに行うことができます。より高いzオーダーがあることを確認してください(上にあります)。アルファ= 0にしてください。

-(IBAction) loginToApp:(id)sender{ 
    [UIView animateWithDuration:1.5 animations:^{ myview.alpha = 1.0; }] 
} 

...明らかに、アウトレットまたは変数myviewがそのビューに接続されている必要があります。 1.5 =秒。あなたのニーズに合わせて変更してください。

+0

素晴らしいが、それは – user559142

+0

なしに行うことができ、キーボード、PARDの上に表示されるようにそれを得る土井方法 – Colin

0

もちろん可能です。ただし、オーバーレイビューを作成することはできますが、適切なインスタンス変数をどこかに作成することを前提としています。私のコードは私のビューコントローラにあったので、[self view]は陰にしたいビューを返します。

[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDuration:2.0]; 
[spinner startAnimating]; 
shadeView.alpha = 0.7f; 
[UIView commitAnimations]; 

と非表示にするには:

shadeView = [[UIView alloc] initWithFrame:[[self view] bounds]]; 
shadeView.backgroundColor = [UIColor blackColor]; 
shadeView.alpha = 0.0f; 
spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorStyleWhiteLarge]; 
spinner.center = CGPointMake(CGRectGetMidX([shadeView bounds]), 
          CGRectGetMidY([shadeView bounds])); 
[shadeView addSubview:spinner]; 
[[self view] addSubview:shadeView]; 

提示する

[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDuration:1.0]; 
[spinner stopAnimating]; 
shadeView.alpha = 0.0f; 
[UIView commitAnimations]; 
関連する問題