如何拥有全局UIAlertView

时间:2014-08-17 13:26:06

标签: ios objective-c uialertview

我有一个由多个视图控制器组成的应用程序,在每个视图控制器中我都可以加载UIAlertView。

拥有全局警报视图功能的最佳方法是什么?所以我可以有效地使用像

这样的函数
[GlobalAlertVIew alertview : 2]; 

2指的是它是什么警报(有点像枚举)。

我尝试添加一个NSObject文件并调用它,但是在返回函数

- (void) alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex

如何从NSObject中的此文件到原始视图控制器?

由于

3 个答案:

答案 0 :(得分:1)

您需要在配置的UIAlertView

上配置委托
UIAlertView *alertView = [GlobalAlertView alertView:2];
alertView.delegate = self;

或在工厂方法中公开委托

[GlobalAlertView alertView:2 withDelegate:self];

答案 1 :(得分:0)

我不知道你是否还需要,但我确实喜欢这个:

+ (void)alert: (UIViewController *) view title: (NSString *) title message: (NSString *) message;

+ (void)alert: (UIViewController *) view title: (NSString *) title message: (NSString *) message {
    UIAlertController * alert=   [UIAlertController
                              alertControllerWithTitle:title
                              message:message
                              preferredStyle:UIAlertControllerStyleAlert];

    UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault
                                                      handler:^(UIAlertAction * action) {}];

    [alert addAction:defaultAction];
    [view presentViewController:alert animated:YES completion:nil];
}

答案 2 :(得分:0)

您可以将以下代码添加到常量头文件中,并将此标头导入.pch文件,以便能够在应用中看到此文件,

#define SHOW_ALERT(title,msg){ UIAlertController *noDataFoundAlert = [UIAlertController alertControllerWithTitle:title message:msg preferredStyle:UIAlertControllerStyleAlert];UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleCancel handler:^(UIAlertAction *action){}]; [noDataFoundAlert addAction:okAction]; [self presentViewController:noDataFoundAlert animated:YES completion:nil];}

您可以在任何类中调用此方法,如以下调用

 SHOW_ALERT(@"Please select any section", @"Please select any section");

Nada Gamal