0

次のようなカスタムアラートビューを表示する必要があるプロジェクトに取り組んでいますuiview-as-alertview

UIAlertView のカスタマイズは間違ったアプローチであることがわかりました。それを達成する方法は、UIView を使用することです。これは、アニメーションを使用して UIAlertView のようにポップインおよびポップアウトします。

SO もいくつか見ました [質問]: iOS アラート ビューをカスタマイズするにはどうすればよいですか? [質問]: UIAlertView のような UIView ポップアップ それでも、AlertView が表示されないなどの問題に直面しています。誰でも同じことについていくつかの良いチュートリアルを共有できますか.

//ありがとう

4

2 に答える 2

0

システムUIAlertViewが独自に作成するUIWindowため、通常のUIWindow. そのアプローチを試してみるのもよいでしょう。もしそうなら、この回答で extra UIWindows の使用に関するいくつかの役立つヒントが見つかるかもしれません。

于 2012-11-05T08:21:13.757 に答える
0

Modal View Controllerを使用できます

モーダル ビュー コントローラーは、モーダルに表示される単純な UIViewController クラスです。

View Controller をモーダル形式で表示するには、次のメソッドを使用できます。

- (void)presentModalViewController:(UIViewController *)modalViewController animated:(BOOL)animated;

フレームをビューの 50% として変更すると、異なるアニメーションを適用して表現できます。

利用可能なモーダル遷移スタイルは次のとおりです

yourModelViewController.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
yourModelViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
yourModelViewController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
yourModelViewController.modalTransitionStyle = UIModalTransitionStylePartialCurl;

コード例:

UIViewController *controller = [[MyViewController alloc] init];
controller.frame = yourFrame;
UIViewAnimationTransition trans = UIViewAnimationTransitionCurlUp;
[UIView beginAnimations: nil context: nil];
[UIView setAnimationTransition: trans forView: [self window] cache: YES];
[self.view presentModalViewController: controller animated: NO];
[UIView commitAnimations];
于 2012-11-05T11:54:00.877 に答える