2016-02-19 01:32:23 +00001

最近重新拾起 Fudo Note 這個 iOS App 開發時,
發生了某個按鈕明明在畫面上,
但卻點不到的窘境,
因為 Android Studio 有 抓取當下 App View 階層的工具,
所以我也找了一下 iOS 是否也有。
本以為可能要裝什麼外掛程式的,
沒想到 Xcode 7 本身就有了。

2016-02-19 00:27:07 +00001

只要在 Xcode 執行程式時,
點擊上方圖片中下方工具列紅框標啟的按鈕,
就可以出現如上精細的 View 階層畫面,
而且 Xcode 左方工具列也可清楚展開整個視圖架構,
這對我要找到到底是哪個隱藏的 View 擋住按鈕是很有幫助的。

2016-02-19 00:28:48 +00001

對了,
Xcode 右方的工具列,
在我們選取特定 View 之後,
也可以看到 runtime 的屬性。

由於進行 View Debugging 時,
Xcode 是進入如中斷點除錯的狀態,
所以我們可以根據該 View 在記憶體中的 Address 位置(如 上圖右方工具列中的 0x7fcbd2dec990),
如下圖下指令,動態改變 View 的屬性,如背景顏色。

2016-02-19 00:30:48 +00001

然後當我們 resume 執行時,

2016-02-19 00:31:09 +00001 

View 的背景顏色就真的改了。 

2016-02-19 00:35:42 +00001 

啟動視圖除錯的進入點,
在 Xcode 上方的工具列也有一個,
我們可以點選 Debug > View Debugging > Capture View Hierarchy 來啟動。

2016-02-19 00:25:41 +00001

除此之外,
Simulator 上啟動 Color Blended Layers,
也可以幫助我們快速分析一下目前畫面上 View 的 Layout 情形,
例如,
是不是有東西擋住某個 View ,
因而發生點不到的狀況;
或者因為視圖大量重疊,
而可能發生降低效能的狀況,

以上這兩個工具我覺得對於視圖除錯都蠻有幫助的,
如果各位朋友有其他好用的除錯工具,
也歡迎留言分享喔~ 

arrow
arrow
    全站熱搜

    賽拉維‧柯南 發表在 痞客邦 留言(0) 人氣()