iOS 進階 第九天(0408)

來源:互聯網
上載者:User

標籤:

0408makekeyAndVisible解釋

一個程式可以有多個Window,但只有一個視窗能夠成為主視窗.中所示,此時的window2是主視窗.主視窗用處大了.從iOS7開始無論是主視窗還是次視窗,都可以互動,比如文字框輸入文字.但在iOS6及其之前的版本,非KeyWindow(非主視窗)是無法互動的,即無法向文字框中輸入文字

如果發現一個文字框不能輸入文字,那就就要想到這個文字框所在的視窗是不是主視窗

iOS主視窗和非主視窗的表現:

擷取當前程式的主視窗

一些總結:

鍵盤也是在一個視窗Window裡面,如果你想更改鍵盤上的東西,則拿到鍵盤所在的Window,就能拿到鍵盤,就能拿到鍵盤裡的子控制項,就能更改鍵盤上的按鈕

UINavigationController 壓入棧控制器方法

UINavigationController 出棧方法,預設只出當前topViewController,也可以直接pop到指定的ViewController,也可以直接pop到RootViewController

控制器的生命週期

具體如所示:

記憶體警告的處理

1、首先AppDelegate接收到警告

2、然後開始尋找根控制器,看看根控制器的哪個子控制器遇到記憶體警告了

3、找到收到記憶體警告的子控制器,做一些處理(可能是SDWebImage清緩衝,可能是一些成員變數=nil置空,也可能是釋放一些非最高優先順序的控制器資源.什麼是非最高優先順序的控制器,就是不是在當前介面上正在顯示的控制器.如果再次返回到了之前釋放後的控制器,系統會再次自動建立控制器的view,讓控制器複活,調用viewDidLoad方法,執行控制器的完整生命週期.)

下面一個圖很明白的說明了記憶體警告的處理流程

iOS 進階 第九天(0408)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.