最近重新拾起 Fudo Note 這個 iOS App 開發時,
發生了某個按鈕明明在畫面上,
但卻點不到的窘境,
因為 Android Studio 有 抓取當下 App View 階層的工具,
所以我也找了一下 iOS 是否也有。
本以為可能要裝什麼外掛程式的,
沒想到 Xcode 7 本身就有了。
只要在 Xcode 執行程式時,
點擊上方圖片中下方工具列紅框標啟的按鈕,
就可以出現如上精細的 View 階層畫面,
而且 Xcode 左方工具列也可清楚展開整個視圖架構,
這對我要找到到底是哪個隱藏的 View 擋住按鈕是很有幫助的。
對了,
Xcode 右方的工具列,
在我們選取特定 View 之後,
也可以看到 runtime 的屬性。
由於進行 View Debugging 時,
Xcode 是進入如中斷點除錯的狀態,
所以我們可以根據該 View 在記憶體中的 Address 位置(如 上圖右方工具列中的 0x7fcbd2dec990),
如下圖下指令,動態改變 View 的屬性,如背景顏色。
然後當我們 resume 執行時,
View 的背景顏色就真的改了。
啟動視圖除錯的進入點,
在 Xcode 上方的工具列也有一個,
我們可以點選 Debug > View Debugging > Capture View Hierarchy 來啟動。
除此之外,
Simulator 上啟動 Color Blended Layers,
也可以幫助我們快速分析一下目前畫面上 View 的 Layout 情形,
例如,
是不是有東西擋住某個 View ,
因而發生點不到的狀況;
或者因為視圖大量重疊,
而可能發生降低效能的狀況,
以上這兩個工具我覺得對於視圖除錯都蠻有幫助的,
如果各位朋友有其他好用的除錯工具,
也歡迎留言分享喔~