UIALertView が必要です。これは、ポップアップ時にアラート ビューの背後の背景を薄く表示するのに十分なほど透明である必要があり、アラート ビューの背後の背景は黒と灰色であるため、アラート ビューの青色は表示されません。色の変更とアラート ビューへの画像の配置は、次のリンクで確認できるものです: iOS 5 black transparent UIAlertView and Changing the background color of a UIAlertView?
しかし、透明な UIAlertView が必要です。手に入れることは可能ですか?事前に助けてくれてありがとう。
3 に答える
UIAlertView に関する Apple のドキュメント ページを見ると、次の注記が表示されます。
UIAlertView クラスはそのまま使用することを意図しており、サブクラス化はサポートしていません。このクラスのビュー階層は非公開であり、変更してはなりません。
言い換えれば、Apple は、UIAlertView に関して、開発者が色、フォント、または背景をいじることを望んでいません。Apple が後の iOS で UIAlertView の内部構造を変更した場合、その変更されたアラートが表示されたときに、アプリに予期しない望ましくない影響が生じる可能性があります。
カスタム UIAlertView のような動作が必要な場合は、UIAlertView のように見えて動作する独自の UIViewを作成してみませんか。そして、描画方法に関するすべてを完全に制御できます。
手遅れであることはわかっていますが、このコマンドは他の開発者に任せます。
.h
@interface CustomAlertView:UIAlertView {}
.m
// override
- (void)drawRect:(CGRect)rect
{
for(UIView * sub in self.subviews)
{
[sub removeFromSuperview];
}
// this removeFromSuperview will clear all thing such as background view and buttons
// do something
}
Michael が言ったように、UIAlertView を使用することはできません。自分で構築する必要があります。
BlockAlertsAnd-ActionSheets を試すことができます。カスタマイズ可能な UIAlerView のようなものです https://github.com/gpambrozio/BlockAlertsAnd-ActionSheets