我正在做一个项目,我必须显示一个自定义警报视图,类似于
我发现,自定义 UIAlertView 是一种错误的方法!所以实现它的方法是使用 UIView,它会像 UIAlertView 一样使用动画弹出和弹出。
我还看到了一些 SO [问题]:如何自定义 iOS 警报视图?和[问题]:UIView Popup like UIAlertView 我仍然面临问题,比如 AlertView 没有出现。任何人都可以分享一些很好的教程。
//谢谢
我正在做一个项目,我必须显示一个自定义警报视图,类似于
我发现,自定义 UIAlertView 是一种错误的方法!所以实现它的方法是使用 UIView,它会像 UIAlertView 一样使用动画弹出和弹出。
我还看到了一些 SO [问题]:如何自定义 iOS 警报视图?和[问题]:UIView Popup like UIAlertView 我仍然面临问题,比如 AlertView 没有出现。任何人都可以分享一些很好的教程。
//谢谢
系统UIAlertView
会创建自己的UIWindow
,因此它可以漂浮在您的正常UIWindow
. 您可能想尝试这种方法。如果你这样做了,你可能会在这个答案中找到一些关于使用 extra UIWindow
s 的有用提示。
您可以使用模态视图控制器
模态视图控制器只是一个以模态形式呈现的 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];