两种方法模仿支付宝进入到后台界面模糊
很久都没有写过东西,只能说实话真的懒了。
2014年过去了,最大得就是转到了IOS开发,其他的大事情都没有发生。2015年了,迎接还是一样的自己(哎,该改变了)。发了两句牢骚,下面进入正题。
支付宝手机客户端,在程序退出到后台的时候整个界面模糊,防止重要的信息在双击两次Home键的时候造成泄漏。这种效果对于安全性比较高得应用比较有用。最近在做一个国有企业的项目,安全性比较高要求我们实现这样得功能,因为这个所以实现了一下这个效果。最后实现了两种思路,一种是我实现的,一种的是我同事写的,这里都把代码放出来,希望能够帮助到别人。
第一种:
在ViewController中注册下面四个通知:
[[NSNotificationCenter defaultCenter] addObserver:selfselector:@selector(enterBackground:)name:UIApplicationDidEnterBackgroundNotification object:nil];[[NSNotificationCenter defaultCenter] addObserver:selfselector:@selector(enterForeground:)name:UIApplicationWillEnterForegroundNotification object:nil];[[NSNotificationCenter defaultCenter] addObserver:selfselector:@selector(resignActive:)name:UIApplicationWillResignActiveNotification object:nil];[[NSNotificationCenter defaultCenter] addObserver:selfselector:@selector(becomeActive:)name:UIApplicationDidBecomeActiveNotification object:nil];
然后在UIApplicationWillResignActiveNotification这个通知对应的方法里面,创建当前viewController的屏幕的截屏然后使用算法进行模糊处理,但是这时候这个View是隐藏的。只有UIApplicationDidEnterBackgroundNotification这个通知收到后,才会真正的显示。为什么这样处理,因为我在处理的过程中,我在UIApplicationDidEnterBackgroundNotification这个通知里面执行一些UI的操作不执行,所以就放到了UIApplicationWillResignActiveNotification这个里面去执行,但是还必须隐藏,因为在下拉通知栏的时候这个通知也会被触发,但是这时候不应该显示模糊界面,只有当真正到后台的时候才去执行。等到回到前台的时候,在去掉模糊界面。基本是这个思路,可能有些地方写错了,但是后来也没有修改,真正使用的时候,可以写一个UIViewController的类目去实现这些功能。
第二种:
这种方式是直接创建了UIWindow得截图,然后将其添加到UIWindow中。基本就是这个思路,具体的看代码吧。
好久没写东西了,发现写的太垃圾了。
下面是代码:
第一种方法:http://download.csdn.net/detail/mengxiangyue/8355487
第二种方法:http://download.csdn.net/detail/mengxiangyue/8355039
两种方法模仿支付宝进入到后台界面模糊相关推荐
- python制作系统程序与html交互_python+html语音人物交互_flask后台与前端(html)交互的两种方法...
基于python flask框架搭建web flask后台与前端(html)交互的两种方法: 方法1 使用flask-wtf 提供的表单 用常见的登录为例: // An highlighted blo ...
- Django 后台admin管理页面添加简易导出/下载数据功能的两种方法
在Django中有时候需要在后台界面需要用到导出数据的功能,对于功能要求比较高的可以直接使用Import_Export库来完成.但是对于一些简单的数据导出,可以直接自定义一些简单的函数来实现导出数据. ...
- oppo手机android系统进程,OPPO手机应用软件怎么在后台运行?OPPO软件后台运行两种方法...
明明按了Home键让APP在后台运行,结果再进来时,却回不了原先的界面,相当于重新启动了APP!相信不少小伙伴都遇到过这种情况,对于杀怪杀到一半的孩纸,更是痛彻心扉-- 要解决问题很简单,这里有两种方 ...
- admin.php怎么登陆,怎么找回zblogPHP后台管理员登录的密码(两种方法)
如果你把zblogPHP后台管理员登录的密码忘记了怎么办?如何找回密码呢?为了解决这个问题,刘代码接下来就介绍两种方法. 一.使用[Z-BlogPHP密码找回工具] 这是一款zblog官方开发的大杀器 ...
- PhpCms V9调用指定栏目子栏目文章的两种方法
PhpCms V9调用指定栏目子栏目文章的两种方法 第一种.直接写子栏目id ,用cat in {pc:get sql="SELECT * from v9_news where status ...
- windows 搭建kms服务器激活_自建KMS激活服务器的两种方法
你还在用网上那种坑爹的Ghost盗版系统吗?内置各种辣鸡.流氓软件,新系统?纯净版Ghost系统?不存在的~ 在开始自建KMS服务器之前,我觉得很有必要给大家分享一个神站,没错就是MSDN! 地址:h ...
- qmenu只在鼠标单击时消失_两种方法解决win10电脑无法使用无线鼠标问题
使用有线鼠标时用户们是否也都会被那条线控制住,有时需要大范围移动时并不行,现在很多用户都会选择使用无线鼠标,因为可以随意移动使用更加方便.但是在使用中也有用户遇到了麻烦,使用win10连接鼠标后无法使 ...
- WPF多线程UI更新——两种方法
WPF多线程UI更新--两种方法 前言 在WPF中,在使用多线程在后台进行计算限制的异步操作的时候,如果在后台线程中对UI进行了修改,则会出现一个错误:(调用线程无法访问此对象,因为另一个线程拥有该对 ...
- php文本框自动补全,PHP自动补全表单的两种方法
效果图: 第一种:从数据库中检索之后补全 第二种:邮箱等纯前端的补全 先说第二种,使用开源的插件,所以相对简单. github上面的项目 completer. https://github.com/f ...
- dede列表页if判断输出html,首页、列表页调用文章body内容的两种方法
随着源码的开放性,很多SEOER对页面的要求也越来越复杂多样性,很多时候,织梦系统的原有功能并不能满足seoer的页面布置要求,这就需要继续开发页面,做更多的功能调用. 今天徐金华SEO给大家讲的是关 ...
最新文章
- 浅谈Android四大组件之Service
- Linux System Programming --Chapter Six
- 分布式发布订阅消息系统Kafka单实例测试
- 如何使用Docker安装Mycat中间件 | 实现主从的读写分离,搭建属于你的Mysql 集群 | 来看看这篇吧
- 提交spark的bug的地方
- 斐讯k1潘多拉专版固件_斐讯K1刷专版潘多拉固件以及教程(使用感受)
- Python应用实战-如何用Pyecharts绘制可视化地图?
- 2021年上半年软考网络工程师考试下午真题及答案解析
- django migrate 抛出异常:ValueError: Found wrong number (0) of constraints for …
- php框架tp3.2.3和js写的微信分享功能心得,分享的标题内容图片自定义
- 列出所有内核_Windows系统内核溢出漏洞提权
- 十代主板改win7_微星Z490装win7 Bios设置|微星Z490主板10代CPU装win7
- R统计绘图-VPA(方差分解分析)
- 华为紧盯Android专利战: 置身事外几无可能
- 在线计算机励志文案,那些惊艳的励志文案,句句经典,值得点赞
- msp430f149最小核心板和bsl下载器连线
- 再不奋斗,我们就老了!
- IIS部署Thinkphp网站
- 广西教育学院计算机技术专业可以当老师吗,广西教育学院老师待遇 广西教育学院好吗...
- Java 近期新闻:Classfile API 草案、Spring Boot、GlassFish、Reactor 项目、Micronaut
热门文章
- 【面试笔试-c/c++】人民搜索2012校园招聘试题
- 在什么情况下需要用矿物质防火电
- img图片实现垂直居中
- 阿里字体图标库iconfont的使用详解
- 微软中国招聘职位描述(英文)
- windows保护无法启动修复服务器,Win10系统提示Windows资源保护无法启动修复服务怎么办...
- 解决通过雪花算法生成的id前端接受数据精度丢失问题
- SQL server查询试题
- 二元二次方程 c语言,C语言求二元二次方程组的解 我要代码 谢谢大家了
- 数据分布度的度量Measures of Spread