ASJAlertController 1.3

ASJAlertController 1.3

测试已测试
Lang语言 Obj-CObjective C
许可 MIT
发布最后发布2022年1月

Sudeep 维护。



  • Sudeep

ASJAlertController

UIAlertController 相比于旧的 UIAlertView 有很大的改进。但是,它没有简单的 show 方法来使它显示在屏幕上,必须在一个视图控制器上显示。像我一样,如果您怀念旧的方式展示提示框,这个小库将很有帮助。

这是一个添加了 show 方法以及创建提示框和操作表单的便捷方法的 UIAlertController 类别。

它通过在应用的主窗口之上创建一个新的 UIWindow 并且在其上显示一个 UIAlertController 来工作。这是苹果公司据说在自家实现中使用的方法

安装

CocoaPods是目前安装此库的首选方式。将此命令添加到您的 Podfile

pod 'ASJAlertController'

使用方法

显示提示框

[ASJAlertController showAlertWithTitle:@"Title"
                                 message:@"Message"
                       cancelButtonTitle:@"Cancel"
                              tapHandler:^(ASJAlertAction * _Nullable action, NSString * _Nullable buttonTitle)
   {
     // handle button taps here
   }];

展示操作表

[ASJAlertController showActionSheetWithTitle:@"Title"
                                       message:@"Message"
                             cancelButtonTitle:@"Cancel"
                        destructiveButtonTitle:@"Destroy"
                                   otherTitles:@[@"Button 1", @"Button 2"]
                                    tapHandler:^(ASJAlertAction * _Nullable action, NSString * _Nullable buttonTitle)
   {
     // handle button taps here
   }];

使用 ASJAlertButton 显示 alert/action sheet

ASJAlertButton *button1 = [ASJAlertButton buttonWithTitle:@"Button 1" style:ASJAlertActionStyleDestructive];
ASJAlertButton *button2 = [ASJAlertButton buttonWithTitle:@"Button 2" style:ASJAlertActionStyleDefault];

[ASJAlertController showAlertWithTitle:@"Test"
                                 message:@"A test action sheet"
                       cancelButtonTitle:@"Cancel"
                            otherButtons:@[button1, button2]
                          preferredStyle:ASJAlertControllerStyleActionSheet
                              tapHandler:^(ASJAlertAction * _Nullable action, NSString * _Nullable buttonTitle)
   {
     // handle button taps here
   }];

手动显示

您还可以选择不立即显示 alert。使用 show 方法实现此功能。对于 otherButtons,您需要根据使用的方法传递一个 ASJAlertButton 类型的 NSArrayNSString。您可以将不需要的任何参数保持为 nil

ASJAlertController *alert = [ASJAlertController alertWithTitle:@"Title"
                                                      message:@"Message"
                                            cancelButtonTitle:@"Cancel"
                                       destructiveButtonTitle:nil
                                                  otherTitles:nil
                                              preferredStyle:ASJAlertControllerStyleAlert
                                                  tapHandler:^(ASJAlertAction * _Nullable action, NSString * _Nullable buttonTitle)
                               {
                                 // handle button taps here...
                               }];
[alert show];

致谢

许可

ASJAlertController 在 MIT 许可证下可用。更多信息请参阅 LICENSE 文件。