zoukankan      html  css  js  c++  java
  • iOS 进阶 第九天(0408)

    0408

    makekeyAndVisible解释

    一个程序可以有多个Window,但只有一个窗口能够成为主窗口.如图中所示,此时的window2是主窗口.主窗口用处大了.从iOS7开始无论是主窗口还是次窗口,都可以交互,比如文本框输入文字.但在iOS6及其之前的版本,非KeyWindow(非主窗口)是无法交互的,即无法向文本框中输入文字

    如果发现一个文本框不能输入文字,那就就要想到这个文本框所在的窗口是不是主窗口

    iOS主窗口和非主窗口的表现:


    获取当前程序的主窗口

    一些总结:


    键盘也是在一个窗口Window里面,如果你想更改键盘上的东西,则拿到键盘所在的Window,就能拿到键盘,就能拿到键盘里的子控件,就能更改键盘上的按钮


    UINavigationController 压入栈控制器方法


    UINavigationController 出栈方法,默认只出当前topViewController,也可以直接pop到指定的ViewController,也可以直接pop到RootViewController


    控制器的生命周期

    具体如下图所示:


    内存警告的处理

    1、首先AppDelegate接收到警告

    2、然后开始寻找根控制器,看看根控制器的哪个子控制器遇到内存警告了

    3、找到收到内存警告的子控制器,做一些处理(可能是SDWebImage清缓存,可能是一些成员变量=nil置空,也可能是释放一些非最高优先级的控制器资源.什么是非最高优先级的控制器,就是不是在当前界面上正在显示的控制器.如果再次返回到了之前释放后的控制器,系统会再次自动创建控制器的view,让控制器复活,调用viewDidLoad方法,执行控制器的完整生命周期.)

    下面一个图很明白的说明了内存警告的处理流程


  • 相关阅读:
    第十三周课程总结
    第十二周课程总结
    第十一周课程总结
    第十周课程总结
    第九周课程总结 & 实验报告(七)
    第八周课程总结 & 实验报告(六)
    第七周课程总结 & 实验报告(五)
    第六周总结 & 实验报告(四)
    课程总结
    第十四周课程总结&实验报告(简单记事本的实现)
  • 原文地址:https://www.cnblogs.com/lyandy/p/5116882.html
Copyright © 2011-2022 走看看