1.方法一:
被隱藏的指令是recursiveDescription,你可以簡單地用它對view進行檢查,在view中調用recursiveDescription來列印它的繼承關係。 由於是私人方法,鍵入時不會有任何提示,注意不要輸錯。 即在debug地區。輸入 po [self.view recursiveDescription] 2.方法二:
做iOS的開發,UI是非常非常重要的一環。調試時我們一般用模擬器,提交前用真機做測試。用模擬器來調試UI效果雖然快捷方便,但有時仍然希望有更強大的工具來協助分析UI,尤其是專註在UI的效果調試時。最近看到了Reveal這個工具,發現真的是強大無比,類似於FireFox上的FireBug,對於UI上的層的顯示很清晰直觀,可以很方便的用於UI的調試,用來學習UI的使用也是無上利器。
這個工具目前已經出到正式版了,需要花費銀子購買,好在還有30天的試用版本可以下載嘗嘗鮮。(http://revealapp.com),據說以前有免費的Beta版本,哪位大大如果有的話請分享一下給我,多謝了。
安裝Reveal不算複雜,要把Reveal用到工程中則需要把framework或者dylib編入。
1. 開啟Xcode工程
2. 開啟Revel工具,選擇Menu->Help->Show Reveal Library in Finder,這樣就會開啟RevealApp裡面帶的庫
3. 把Reveal.framework加入工程,在彈出框中選中Copy items into destination group’s folder (if needed).
4.在工程設定中,在Other Linker Flags項增加-ObjC -framework Reveal
如果你使用的還是Xcode4,那麼還需要增加-frame CFNetwork -frame QuartzCore -framework CoreGraphics
5. 運行你的應用,應用可以是在模擬器上,也可以在真機上,不過必須保證Reveal和你的裝置在同一個網路裡面,然後選擇Reveal裡面的連結目標,連上應用後UI就會顯示出來,每個層次,每個元素都可以顯示,而且可以選中了看到資料。
我這裡做的說明是把Reveal作為靜態庫連結到應用中的,也可以作為動態庫來載入,當然,設定略微有點不同,需要在AppDelegate.m檔案中增載入入和移除的代碼。
最最強悍的是,有人研究出了用Reveal來觀看任意app的UI方法,而且也不複雜,這個屬於逆向工程的範疇了,在UI的學習上還是不錯的(http://c.blog.sina.com.cn/profile.php?blogid=cb8a22ea89000gtw)。
更多支援鍵盤通過視圖層級幫你理解複雜的app。3D導航,可流暢旋轉,縮放,選中以及高亮Reveal可讓你清楚哪個視圖執行了哪個類。Reveal可在裝置或者模擬器上運行,可以簡單地發現,串連至iOS app。 Reveal官方網址:
http://revealapp.com/
文章參考:http://blog.csdn.net/lin1986lin/article/details/21182717
http://blog.csdn.net/sakulafly/article/details/17994173