去除掉屏幕上所有的UIAlertView
来源:互联网 发布:康得新 财务 数据益盟 编辑:程序博客网 时间:2024/05/02 01:17
在 iOS 7 系统之前, AlertVIew 显示的原理是在屏幕上家里一层 Alertwindow , 然后AlertView 的视图加在了这个Window 上,所以可以通过获取window上的视图从而获取UIAlertView 然后令其消失,具体代码:
但是在iOS 7 上,这种方法就不起作用,因为显示的机制不同了,在Stack Overflow 中找到这样一篇说明:
大概的意思是,在iOS 7 中,UIAlertView 的 window 并不是显示在[UIApplication shareApplication].windows 中,而是被加入到了[UIApplication keyWindow] 中,但是并没有留出引用或者说指针,所以我们没有办法获取到;
所以在iOS 7 中,如果要使用如果要实现这个功能,就要在[alert show ] 的时候保留一份UIAlertView 的指针,在需要收到令其消失的地方,统一用保留的副本指针调用 dismissWithClickedButtonIndex ;可以通过继承UIAlertView 然后重写show 方法 或者 在 类别的扩展中重写 show ,在此就不详细说明了!
或者还有另一种方法
使用前要引用 #import <objc/runtime.h>
但是我不能保证这种方法是否能通过苹果的审核!慎用!!
1 0
- 去除掉屏幕上所有的UIAlertView
- 去除掉屏幕上所有的UIAlertView
- 去除掉屏幕上所有的UIAlertView
- UI -- 去除掉屏幕上所有的UIAlertView
- Java去除掉HTML里面所有标签,
- 去除掉svn的标记
- 怎样去除掉心灵的杂草
- 去除掉TabHost下面那个边线的小技巧
- 去除掉浏览器对输入框的自动补全
- vi编辑器如何去除掉开头的#号
- 191 除掉当前元素,其他所有元素的积
- iOS一次性移除掉NSUserDefaults中所有的数据
- iOS 一次性移除掉NSUserDefaults中所有的数据
- 屏幕大小适应地图上的所有的坐标
- 在android4.0.4的SDK里裁剪APK,把不需要的APK去除掉
- 去除掉数组中的值为0的项 (指定的某一项或者多项)
- 在android4.0.4的SDK里裁剪APK,把不需要的APK去除掉
- 批处理——获取当前文件夹的TXT文件名和去除掉最后一个文件名
- Android中UI线程与后台线程交互设计的5种方法
- java中request接收数组(即request接收多个同名参数)
- 黑马程序员_java第六天基础总结
- EHcache缓存配置说明
- 九度OJ 1079: 手机键盘
- 去除掉屏幕上所有的UIAlertView
- 黑马程序员_java第七天基础总结
- myeclipse中svn图标状态(同步标记)不显示问题的解决方法
- eclipse常用实用快捷键
- request.getParameterNames();
- 斐波那契数列
- jquery如何改变html标签的样式(两种实现方法)
- Dll分配的内存块,应用释放的问题
- 将dataTable数据构造成Json格式的字符串