4

私は Objective-C を初めて使用し、最初のアプリをゼロから作成したばかりです。これはスペリング アプリであり、ユーザーが間違った文字を入力した場合にスクリーンショットを撮ったときに画面に表示されるのと同じ白いフラッシュを表示したいと考えています。どうすればいいですか?

4

3 に答える 3

6
// Create a empty view with the color white.

UIView *flashView = [[UIView alloc] initWithFrame:window.bounds];
flashView.backgroundColor = [UIColor whiteColor];
flashView.alpha = 1.0;

// Add the flash view to the window

[window addSubview:flashView];

// Fade it out and remove after animation.

[UIView animateWithDuration:0.05 animations:^{     flashView.alpha = 0.0;    }      completion:^(BOOL finished) {    [flashView removeFromSuperview];     }     ];
于 2012-10-10T13:07:05.597 に答える
2

UIViewすべての上にフルスクリーンの白を追加し、そのアルファをアニメーション化します。

// Create a fullscreen, empty, white view and add it to the window.
UIWindow *window = [[UIApplication sharedApplication] keyWindow];
UIView *flashView = [[UIView alloc] initWithFrame:window.bounds];
flashView.backgroundColor = [UIColor whiteColor];
flashView.alpha = 1.0f;
[window addSubview:flashView];

// Fade it out and remove after animation.
[UIView animateWithDuration:0.05f animations:^{
    flashView.alpha = 0.0f;
} completion:^(BOOL finished) {
    [flashView removeFromSuperview];
}];
于 2012-10-10T12:45:07.253 に答える
1

簡単なアプローチの 1 つはUIView、現在のビュー (または ) の上にアルファを 0 に設定した白を設定することUIWindowです。次に、次のようなフラッシュ エフェクトを適用します。

-(void)flashEffect {

   // Show it suddenly
   [self.flashSubview setAlpha:1.0];

   // Fade it out
   [UIView animateWithDuration:0.5 
                    animations:^{
                       [self.flashSubview setAlpha:0.0];
                    }
                    completion:^(BOOL finished){}];
}
于 2012-10-10T12:44:21.067 に答える