英文 | 中文
JCAlertController
与 UIAlertController
是同一级别的。
它也继承自 UIViewController
。
它支持以 FIFO
或 LIFO
管理显示的控制器。
比较 | 显示队列 | 自定义样式 | 自定义视图 | 最小iOS目标 |
---|---|---|---|---|
JCAlertController | 支持 | 简单 | 简单 | iOS 7 |
UIAlertController | 不支持 | 困难 | 困难 | iOS 8 |
- 支持显示队列
- 支持自定义样式
- 支持自定义 contentView
什么是显示队列?
看看下面的代码
[self presentWithFIFO:alert1];
[self presentWithFIFO:alert2];
[self presentWithFIFO:alert3];
结果
alert1 显示 首先
,在被用户关闭后,alert2 显示 其次
,在被用户关闭后,alert3 显示 最后
。
像这样: alert1
>> alert2
>> alert3
[self presentWithLIFO:alert1];
[self presentWithLIFO:alert2];
[self presentWithLIFO:alert3];
结果
alert3 显示 首先
,在被用户关闭后,alert2 显示 其次
,在被用户关闭后,alert1 显示 最后
。
像这样 alert3
>> alert2
>> alert1
显示队列由 JCPresentQueue 提供。它还支持 Cocoapods。
预览
普通样式
普通样式(仅标题)
普通样式(仅内容)
普通样式(单词溢出)
自定义样式
自定义内容视图
自定义ContentView和键盘处理
自定义ContentView和AttributedString
结构体
.
|____.DS_Store
|____AlertView
| |____JCAlertView.h
| |____JCAlertView.m
|____ButtonItem
| |____JCAlertButtonItem.h
| |____JCAlertButtonItem.m
|____Category
| |____NSAttributedString+JCCalculateSize.h
| |____NSAttributedString+JCCalculateSize.m
| |____UIColor+JCHightlightedColor.h
| |____UIColor+JCHightlightedColor.m
| |____UIImage+JCColor2Image.h
| |____UIImage+JCColor2Image.m
| |____UIViewController+JCPresentQueue.h // present category
| |____UIViewController+JCPresentQueue.m
| |____UIWindow+JCBlur.h
| |____UIWindow+JCBlur.m
|____JCAlertController.h // import this
|____JCAlertController.m
|____Style
| |____JCAlertStyle.h
| |____JCAlertStyle.m
| |____JCAlertStyleAlertView.h
| |____JCAlertStyleAlertView.m
| |____JCAlertStyleBackground.h
| |____JCAlertStyleBackground.m
| |____JCAlertStyleButton.h
| |____JCAlertStyleButton.m
| |____JCAlertStyleButtonCancel.h
| |____JCAlertStyleButtonCancel.m
| |____JCAlertStyleButtonNormal.h
| |____JCAlertStyleButtonNormal.m
| |____JCAlertStyleButtonWarning.h
| |____JCAlertStyleButtonWarning.m
| |____JCAlertStyleContent.h
| |____JCAlertStyleContent.m
| |____JCAlertStyleSeparator.h
| |____JCAlertStyleSeparator.m
| |____JCAlertStyleTitle.h
| |____JCAlertStyleTitle.m
使用CocoaPods安装
步骤1
platform :ios, '7.0'
target 'your target' do
pod 'JCAlertController'
end
步骤2
#import "JCAlertController.h"
使用方法
// LIFO: alert3 >> alert2 >> alert1
for (int i = 1; i<4; i++) {
JCAlertController *alert = [JCAlertController alertWithTitle:[NSString stringWithFormat:@"alert%zi", i] message:nil];
[alert addButtonWithTitle:@"OK" type:JCButtonTypeNormal clicked:nil];
[self jc_presentViewController:alert presentCompletion:nil dismissCompletion:nil];
}
联系我
电子邮件:[email protected]
博客:http://www.jianshu.com/u/8bde69945e50