0

アニメーションを処理する方法がわかりません。半透明のビューでフェードインし、Tumblr アプリの作成画面のように背景がタップされたときに閉じようとしています。

これは私がこれまでに持っているものです。半透明のビューを追加しますが、Tumblr のようなフェードイン効果はありません。

UIView *modalView = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
[modalView setOpaque: NO];
[modalView setBackgroundColor: [UIColor colorWithAlphaComponent: 0.9];
[[self view] addSubview: modalView];
4

3 に答える 3

1

何を達成しようとしているのか正確にはわかりませんが、UIViewアニメーションとUITapGestureRecognizer

ビューをフェードインするには、次のコードを使用します (開始と終了のアルファ値を適切に調整します)。

[modalView setAlpha:0];
[UIView animateWithDuration:0.5f
                      delay:0.0f
                    options:UIViewAnimationOptionCurveEaseInOut
                 animations:^(void) {
                    [myView setAlpha:1.0;
                 }
                 completion:NULL];

そして、これはジェスチャ認識エンジンを作成するためのものです:

UITapGestureRecognizer *tapgr = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(didTapView)];
tapgr.cancelsTouchesInView = NO;
[timeView addGestureRecognizer:tapgr];

didTapViewビューを閉じる方法です。

お役に立てれば。

于 2013-01-31T14:54:44.767 に答える
0

私の理解が正しければ、問題はアニメーションがないことです。アニメーションは簡単です:

UIView *modalView = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
[modalView setOpaque: NO];
[modalView setBackgroundColor: [UIColor colorWithAlphaComponent: 0.9];
[[self view] addSubview: modalView];

[modalView setAlpha: 0];
[UIView animateWithDuration: 0.5 animations: ^{
    [modalView setAlpha: 1];
}

ExploreUIViewの完了ハンドラなどの他のアニメーション メソッド。

于 2013-01-31T15:11:51.180 に答える
0

この半透明のビューにタップ認識機能を追加しようとしましたか? UITapGestureRecognizer クラスを参照してください。

于 2013-01-31T14:14:47.157 に答える