如何在iOS中将UIAlertView显示为全屏?

时间:2015-06-12 12:21:49

标签: ios objective-c iphone uialertview

如何在iOS中将UIAlertView显示为全屏? 非常有问题,有时会弹出tableview。因此使用alertview显示tableview很容易,但它不是expandng大小。为此,如何在iOs中全屏显示警报视图?

2 个答案:

答案 0 :(得分:3)

您无法更改/更改苹果默认UIAlertView

而是使用自定义视图及其模仿和行为,您可能希望将YourCustomAlertView添加到:

  

CustomAlert.h

@interface CustomAlert : NSObject

+ (void)alertShow;

+ (void)alertHide;

@end
  

CustomAlert.m

@implementation CustomAlert

+ (void)alertShow 
{
    UIWindow *window = [UIApplication sharedApplication].keyWindow;

    UIView *existingView = [window viewWithTag:123456789];

    if (existingView != nil ) // removes existing alert view to avoid multi occurance
    {
        [existingView removeFromSuperview];
    }
    UIView *YourCustomAlertView = [[UIView alloc] initWithFrame:YourFrame];

    YourCustomAlertView.tag = 123456789; // add tag to remove the view later

    // ...

    [window addSubview: YourCustomAlertView]; 
    //this will place your `YourCustomAlertView` to the top most like the default UIAlertView... 

    [UIView animateWithDuration:0.3 animations:^{ [YourCustomAlertView setAlpha:1]; }];
}

+ (void)alertHide
{
    UIWindow *window = [UIApplication sharedApplication].keyWindow;

    UIView * YourCustomAlertView = [window viewWithTag: 123456789];

    [UIView animateWithDuration:0.3 animations:^{

        [YourCustomAlertView setAlpha:0];

    } completion:^(BOOL done){ if (done) { [YourCustomAlertView removeFromSuperview]; } }];
}

@end

使用它像:

[CustomAlert alertShow];

注意:这只是制作CustomUIAlertView的指南,或者如果您不想自己搜索一些现成的CustomAlertView,抱歉我不会使用任何一个我不能推荐..

这只是一个示例,您可以随意更改任何内容,也许您希望将initWithTitle: message: button:添加到您自己。和许多其他细节...

干杯! :)

答案 1 :(得分:0)

iOS Developer Library说:

  

使用此类中定义的属性和方法设置警报视图的标题,消息和委托,并配置按钮。如果添加自定义按钮,则必须设置委托。委托应符合UIAlertViewDelegate协议。使用show方法在配置后显示警报视图。

因此无法修改val a1: ValidateNode = label("a1") |+| text("a1a1a1") val a2: ValidateNode = label("a2") |+| text("a2a2a2") val a3: ValidateNode = label("a3") val a: ValidateNode = label("a") |+| child(a1) |+| child(a2) |+| child(a3) 。您需要创建自己的UIALertView

只需创建一个视图,并在需要显示警报时使其可见。 github like this上还有一些例子。您也可以在Cocoapods示例中找到。