如何为 UIAlertViewController 定义宏?
Posted
技术标签:
【中文标题】如何为 UIAlertViewController 定义宏?【英文标题】:How to define macro for UIAlertViewController? 【发布时间】:2016-03-30 09:14:48 【问题描述】:在旧项目中根据需要添加了 400 个Alertview
对象,所以在这里我想在 ios 8.0 中引入的objective-c
中为UIAlertViewController
定义macro
请帮我在常量文件中定义它。
【问题讨论】:
【参考方案1】:仅用于警报视图
#define SHOW_ALERT(title,msg,del,cancel,other) \
do \
UIAlertView *_alert = [[UIAlertView alloc] initWithTitle:title message:msg delegate:del cancelButtonTitle:cancel otherButtonTitles:other,nil]; \
[_alert show]; \
while(0);
仅适用于 AlertViewController
#define SHOW_ALERT2(title,msg,ButtonTitle)\
do \
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:title message:msg preferredStyle:UIAlertControllerStyleAlert];\
UIAlertAction *actionOk = [UIAlertAction actionWithTitle:ButtonTitle\
style:UIAlertActionStyleDefault\
handler:nil]; \
[alertController addAction:actionOk];\
[self presentViewController:alertController animated:YES completion:nil];\
while(0);
对于 AlertView 和 AlertViewController
#define SHOW_ALERT3(title,msg,delegate,ButtonTitle) \
do \
if ([UIAlertController class]) \
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:title message:msg preferredStyle:UIAlertControllerStyleAlert];\
UIAlertAction *actionOk = [UIAlertAction actionWithTitle:ButtonTitle\
style:UIAlertActionStyleDefault\
handler:nil]; \
[alertController addAction:actionOk];\
[self presentViewController:alertController animated:YES completion:nil];\
\
else \
UIAlertView *_alert = [[UIAlertView alloc] initWithTitle:title message:msg delegate:delegate cancelButtonTitle:ButtonTitle otherButtonTitles:nil]; \
[_alert show]; \
\
while(0);
【讨论】:
我想作为 UIViewController 上的类别方法会感觉更自然。以上是关于如何为 UIAlertViewController 定义宏?的主要内容,如果未能解决你的问题,请参考以下文章
通过点击外部关闭 UIAlertViewController
UIAlertViewController 中具有圆角矩形边框样式的文本字段。 (迅速)