iOS アラートビューをカスタマイズするにはどうすればいいですか? 質問する

iOS アラートビューをカスタマイズするにはどうすればいいですか? 質問する

iOS アプリケーション内にカスタムを作成したいと考えていますalert view。たとえば、imagesこれにいくつか追加してalert、色を変更したいと考えています。

通常の を作成する方法は知っていますUIAlertViewが、 をカスタマイズする方法はありますかalert view?

ベストアンサー1

私は独自の UIViewController を設定しました。これは、独自の画像でスキンできます。通常、ボタンは 1 つまたは 2 つしか使用しないため、使用していない 2 番目のボタンは非表示にします。ビューは実際には画面全体のサイズであるため、その背後のタッチはブロックされますが、ほとんど透明なので、背景が透けて見えます。

取り込むときに、Apple のアラート ビューのようにバウンドするアニメーションをいくつか使用します。次のようなものが機能します。

-(void)initialDelayEnded {
    self.view.transform = CGAffineTransformScale(CGAffineTransformIdentity, 0.001, 0.001);
    self.view.alpha = 1.0;
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:kTransitionDuration/1.5];
    [UIView setAnimationDelegate:self];
    [UIView setAnimationDidStopSelector:@selector(bounce1AnimationStopped)];
    self.view.transform = CGAffineTransformScale(CGAffineTransformIdentity, 1.1, 1.1);
    [UIView commitAnimations];
}

- (void)bounce1AnimationStopped {
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:kTransitionDuration/2];
    [UIView setAnimationDelegate:self];
    [UIView setAnimationDidStopSelector:@selector(bounce2AnimationStopped)];
    self.view.transform = CGAffineTransformScale(CGAffineTransformIdentity, 0.9, 0.9);
    [UIView commitAnimations];
}

- (void)bounce2AnimationStopped {
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:kTransitionDuration/2];
    self.view.transform = CGAffineTransformIdentity;
    [UIView commitAnimations];
}

クラスには短い遅延が組み込まれる可能性があるため、その遅延が終了すると initialDelayEnded が呼び出されます。

初期化時に、各ボタンが押されたときに呼び出されるオブジェクトとセレクターを渡し、ボタンが押されたときにオブジェクト上の適切なセレクターを呼び出します。

おすすめ記事