博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
拦截系统弹出框
阅读量:5863 次
发布时间:2019-06-19

本文共 1603 字,大约阅读时间需要 5 分钟。

#import 
- (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = [UIColor whiteColor]; // 利用runtime来替换展现弹出框的方法 static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ Method presentM = class_getInstanceMethod(self.class, @selector(presentViewController:animated:completion:)); Method presentSwizzlingM = class_getInstanceMethod(self.class, @selector(ox_presentViewController:animated:completion:)); // 交换方法实现 method_exchangeImplementations(presentM, presentSwizzlingM); });}// 自己的替换展示弹出框的方法- (void)ox_presentViewController:(UIViewController *)viewControllerToPresent animated:(BOOL)flag completion:(void (^)(void))completion { if ([viewControllerToPresent isKindOfClass:[UIAlertController class]]) {// 要弹出的是UIAlertController // 输出到控制到可以发现两者都是null NSLog(@"title : %@",((UIAlertController *)viewControllerToPresent).title); NSLog(@"message : %@",((UIAlertController *)viewControllerToPresent).message); // 换图标时的提示框的title和message都是nil,由此可特殊处理 UIAlertController *alertController = (UIAlertController *)viewControllerToPresent; if (alertController.title == nil && alertController.message == nil) {// 是换图标的提示 return; } else {// 其他提示还是正常处理 [self ox_presentViewController:viewControllerToPresent animated:flag completion:completion]; return; } } // 其他的弹出还是正常处理 [self ox_presentViewController:viewControllerToPresent animated:flag completion:completion];}复制代码

转载于:https://juejin.im/post/5a31d577f265da432652d7b0

你可能感兴趣的文章
MR1和MR2的工作原理
查看>>
Eclipse中修改代码格式
查看>>
GRUB Legacy
查看>>
关于 error: LINK1123: failure during conversion to COFF: file invalid or corrupt 错误的解决方案...
查看>>
我的友情链接
查看>>
hexo博客解决不蒜子统计无法显示问题
查看>>
python实现链表
查看>>
java查找string1和string2是不是含有相同的字母种类和数量(string1是否是string2的重新组合)...
查看>>
Android TabActivity使用方法
查看>>
java ShutdownHook介绍与使用
查看>>
Eclipse的 window-->preferences里面没有Android选项
查看>>
《麦田里的守望者》--[美]杰罗姆·大卫·塞林格
查看>>
[置顶] 深入探析Java线程锁机制
查看>>
遇到的那些坑
查看>>
央行下属的上海资信网络金融征信系统(NFCS)签约机构数量突破800家
查看>>
[转] Lazy evaluation
查看>>
常用查找算法总结
查看>>
grep 零宽断言
查看>>
被神话的大数据——从大数据(big data)到深度数据(deep data)思维转变
查看>>
修改校准申请遇到的问题
查看>>