需求描述
用户从任一界面按Home键退出,再从后台切换回来时,显示一个密码输入界面,只有用户输入正确的密码,才能进入退出前的界面。
需求分析
由于密码输入界面可能从任何应用界面弹出,且需要盖在所有界面的最上层,所以需哟用UIView来实现
基础知识
UIWindow的主要作用:
1.作为UIView的最顶层容器,包含应用显示需要的所有的UIView

2. 传递触摸消息和键盘事件给UIView

具体实现

+ (PasswordInputWindow *)sharedInstance
{static id sharedInstance = nil;static dispatch_once_t onceToken;dispatch_once(&onceToken, ^{sharedInstance = [[self alloc] initWithFrame:[[UIScreen mainScreen] bounds]];});return sharedInstance;
}- (id)initWithFrame:(CGRect)frame
{self = [super initWithFrame:frame];if (self) {//setup UI
}- (void)show
{[self makeKeyWindow];self.hidden = NO;
}

在APPDelegate的下面回调方法中使用该Window

- (void)applicationWillEnterForeground:(UIApplication *)application {[[PasswordInputWindow sharedInstance] show];
}

额外的奖励
通过创建UIWindow,我们可以很容易的实现将某些特定界面置于最上层的效果,但是这种特性最好只用于无法确定该视图应该在哪个控制器上面,若明确视图应该出现在哪个控制器上面,则一般选择在该控制器上创建新的视图来实现该功能。此外,在一个项目中不应该过多的创建这种UIWindow单例对象,众所周知,单例会一直保持在内存中,得不到释放!

搬砖工看这里: http://download.csdn.net/detail/luozhonglan/8608207

******************************************************************************************************************************************************************************************************

posted by  罗大佑子

2015-4-18

利用UIWindow实现密码保护功能相关推荐

  1. 利用SSH端口转发功能实现X转发

    利用SSH端口转发功能实现X转发 分类: Linux2012-08-22 13:13203人阅读评论(0)收藏举报 sshserverwindowsdoslinuxxp SSH协议中有X转发协议.在S ...

  2. Excel:Excel使用技巧经验总结之(利用Excel自带功能统计各个字段不同类别及其个数并进行图表可视化+非编程实现)图文教程之详细攻略

    Excel:Excel使用技巧经验总结之(利用Excel自带功能统计各个字段不同类别及其个数并进行图表可视化+非编程实现)图文教程之详细攻略 目录 利用Excel自带筛选功能统计各个字段不同类别及其个 ...

  3. Excel:利用Excel内置功能实现对某列表格按照条件进行升降序排列

    Excel:利用Excel内置功能实现对某列表格按照条件进行升降序排列 目录 实现功能 实现方法 实现功能 利用Excel内置功能实现对某列表格按照设置条件进行升降序排列 实现方法

  4. 如何利用CNKI句子检索功能提高研究效率

    摘要:CNKI句子检索功能在科技查新.专利审查等方面有着广泛的应用.本文从如何提高学术研究效率的角度,进一步丰富CNKI句子检索功能的应用情境.具体地,本文通过实例展示了如何解决研究者在概念.命题和理 ...

  5. 利用SciTE的导出功能保持代码语法着色效果

    利用SciTE的导出功能保持代码语法着色效果 有些集成开发环境的代码,比如Eclipse和Visual Studio的代码拷贝到有道云笔记里,就失去了语法着色效果.(Intellij里的代码拷贝有道云 ...

  6. 利用DataSnap的回调功能在客户端显示服务器方法的执行进度

    如果DataSnap服务器方法的执行时间比较长,这时候可能需要在客户端用进度条显示当前服务器方法的执行进度.要实现这种需求,现在可以利用DataSnap的回调功能,此功能是从Delphi 2010版本 ...

  7. 利用matlab的帮助功能分别查询inv,MATLAB实验报告第一章..doc

    贵州大学实验报告(小三号,加黑) 学院: 专业: 班级: 姓名张成思学号0908060322实验组实验时间2011.10.24指导教师周雪梅成绩实验项目名称实验一实验目的熟悉MATLAB的操作环境及基 ...

  8. php怎么实现弹幕,HTML如何利用canvas实现弹幕功能

    本篇文章主要介绍HTML如何利用canvas实现弹幕功能,感兴趣的朋友参考下,希望对大家有所帮助. 简介 最近在做大作业的时候需要做一个弹幕播放器.借鉴了一下别人的源码自己重新实现了一个,演示如下 主 ...

  9. 电脑启动计算机无法启动 修复工具栏,如何利用Win7启动修复功能解决电脑启动进不了系统的问题...

    如何利用Win7启动修复功能解决电脑启动进不了系统的问题 腾讯视频/爱奇艺/优酷/外卖 充值4折起 电脑就像人一样,时常会生点"小病",闹闹"罢工".在所有电脑 ...

最新文章

  1. 另类L2TP Tunnel
  2. 安森美电量计采用内部电阻跟踪电流--电压HG-CVR
  3. python数据趋势算法_Python数据拟合与广义线性回归算法学习
  4. Xcode 中的IOS工程模板
  5. Python 技术篇 - pip下载、安装慢解决方法,更改pip数据源实现秒速下载,配置阿里云国内镜像实例演示
  6. NET问答: 如何集中化统一验证 Authorization
  7. js获取鼠标所在html元素的id和属性
  8. PostgreSQL 内存OOM控制策略导致数据库无法启动的诊断一例(如何有效避免oom)
  9. 自然语言处理——语言模型(一)
  10. 粒子群优化算法及MATLAB实现
  11. Nginx-详解其原理
  12. html转excel有的没有边框,excel表格转word表格没有框线了怎么办
  13. Centos下进行C++编程(1)
  14. 积微速成计划第一期第一次总结
  15. 【BBED】使用bbed 修改data block Block Misplaced
  16. 2012年度注册测绘师资格考试江西-考区合格人员名单
  17. IDEA设置标签多行展示
  18. 轻巧便携电动螺丝刀,DIY的得力好帮手,WOWSTICK PLAY MINI SD体验
  19. PHP动态网站开发技术
  20. java计算程序运行时间及时间单位换算

热门文章

  1. 随笔markdown使用的练习,技术搜索,两个日常英语
  2. 16进制和byte[]转换工具类
  3. Python代码部署的三种加密方案:代码混淆、代码编译、代码打包
  4. PyQt5的表格创建
  5. 做独立开发者,能在AppStore赚到多少钱?
  6. 江苏大学微型计算机控制技术,江苏大学计算机控制技术课程设计.docx
  7. ln怎么用计算机求,excel怎么算ln_如何使用excel做数据ln换算_excel怎么求ln
  8. 04电脑小图标出现×××感叹号,如何处理?
  9. 苍蓝星MyBatis-第一个程序
  10. for循环嵌套,C语言for循环嵌套详解!编程使我快乐!