0

我正在做一个项目,我必须显示一个自定义警报视图,类似于uiview-as-alertview

我发现,自定义 UIAlertView 是一种错误的方法!所以实现它的方法是使用 UIView,它会像 UIAlertView 一样使用动画弹出和弹出。

我还看到了一些 SO [问题]:如何自定义 iOS 警报视图?和[问题]:UIView Popup like UIAlertView 我仍然面临问题,比如 AlertView 没有出现。任何人都可以分享一些很好的教程。

//谢谢

4

2 回答 2

0

系统UIAlertView会创建自己的UIWindow,因此它可以漂浮在您的正常UIWindow. 您可能想尝试这种方法。如果你这样做了,你可能会在这个答案中找到一些关于使用 extra UIWindows 的有用提示。

于 2012-11-05T08:21:13.757 回答
0

您可以使用模态视图控制器

模态视图控制器只是一个以模态形式呈现的 UIViewController 类。

要以模态方式呈现视图控制器,您可以使用以下方法:

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

将 Frame 更改为 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 回答