我們經(jīng)常使用各種調(diào)試工具揍魂,或者開(kāi)源庫(kù)來(lái)支持懸浮窗調(diào)試信息物独,但蘋果的私有方法就提供了UIDebuggingInformationOverlay重荠。
系統(tǒng)要求:? ios10+栋豫,iOS11 目前在我自己的手機(jī)上測(cè)試是行不通的挤安。如果英語(yǔ)不錯(cuò)的可以去看這篇,看完記得通知我一下噢丧鸯。
https://www.raywenderlich.com/177890/swizzling-in-ios-11-with-uidebugginginformationoverlay
使用方法:
在AppDelegate的didFinishLaunchingWithOptions方法中加入兩行代碼即可蛤铜。
#if DEBUG
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
id overlayClass = NSClassFromString(@"UIDebuggingInformationOverlay");
[overlayClass performSelector:NSSelectorFromString(@"prepareDebuggingOverlay")];
#endif
調(diào)用:
運(yùn)行后,用兩個(gè)手指頭在狀態(tài)欄上同時(shí)點(diǎn)擊下就可以顯示出這個(gè)調(diào)試的懸浮層。
可以看到以上幾個(gè)選項(xiàng):
View Hierarchy? (查看View的層級(jí)關(guān)系)
VC Hierarchy? ? ? 查看ViewController層級(jí)關(guān)系)
Ivar Explorer(查看UIApplication 的成員屬性)
Measure? ? (測(cè)量View的尺寸)
Spec Compare (對(duì)比設(shè)計(jì)圖)
System Coloer Audit (系統(tǒng)顏色審計(jì))
View Hierarchy
進(jìn)入到這個(gè)頁(yè)面后围肥,可以看見(jiàn)整個(gè)view的層級(jí)結(jié)構(gòu)剿干。懸浮窗右上角有個(gè)Inspect,點(diǎn)擊這個(gè)可以高亮顯示當(dāng)前選擇的View穆刻。如圖所示:
7710B96C-6161-4453-808B-AA049885F624.png
當(dāng)前選中的是 SettingSwitchItemView置尔。
我們?cè)陧?yè)面上選擇一個(gè)swicth按鈕,這時(shí)會(huì)定位到該view的條目氢伟,如圖所示:
4A7275E1-26C2-4A80-B4CF-6F511BE7C5C3.png
我們點(diǎn)擊右側(cè)的“榜轿!”圖標(biāo),進(jìn)入到swicth的詳情頁(yè)面朵锣,這里展示了view的詳西信息谬盐,并且可以修改一些屬性,比如我們修改這個(gè)button的透明度诚些,如圖所示:
E62D4DF3-D935-4116-BA66-5692547339FE.png
VC Hierarchy
我們回到懸浮窗的主界面飞傀,進(jìn)入到VC Hierarchy界面看看。
A3CB9BC0-29E1-408C-8E2C-C53C3E7C8C73.png
Ivar Explorer
接下來(lái)我們?nèi)var Explorer頁(yè)面看一下泣刹。進(jìn)到頁(yè)面后助析,對(duì)里面的一些值不是很熟悉,不知道是哪里的一些值椅您,不過(guò)里面外冀,看見(jiàn)了我們熟悉的 AppDelegate 。
1CD86F5A-54AC-4508-99CD-0E7ECF2C47BD.png
點(diǎn)擊去看看掀泳,有我們更加熟悉的值了雪隧,是Appdelegate里我們的一些值。
A5400178-6742-4EE9-A304-7A37EBE53CC7.png
Measure
筆者認(rèn)為最實(shí)用的就是這個(gè)測(cè)量功能了员舵,它可以幫助我們測(cè)量view的大小脑沿。進(jìn)入這個(gè)頁(yè)面是這個(gè)樣子的
AD56EB68-2F6C-48E4-94BE-486498946DA5.png
上面有三個(gè)tab選項(xiàng),None马僻, Vertical庄拇, Horizontal,選擇Vertical可以測(cè)量垂直方向上的距離或者view的高度韭邓,選擇Horizontal是在水平方向上進(jìn)行測(cè)量措近。在懸浮窗上還有一個(gè) View Mode的選項(xiàng)開(kāi)關(guān),開(kāi)啟時(shí)女淑,會(huì)以View為單位瞭郑,來(lái)測(cè)量view的大小寬高;關(guān)閉時(shí)是以非空白像素為起始端和結(jié)束端進(jìn)行更寬泛的測(cè)量鸭你。如圖所示:
F58DD36D-15A7-4385-AD99-DA7611AE394E.png
例如:測(cè)量switch的高度
19F53376-D326-443B-8075-12EE268F763F.png
關(guān)閉ViewMode后的測(cè)量
1EB6FE94-0218-41E1-A818-2C26830DA7B9.png
Spec Compare
這個(gè)功能是比較spec圖片和我們辛苦完成的view的屈张,也比較實(shí)用擒权,直接可以看出我們我們扣代碼出來(lái)的界面和UI給出的設(shè)計(jì)圖的差別。進(jìn)入到這個(gè)頁(yè)面后阁谆,點(diǎn)擊右上角的Add進(jìn)入相冊(cè)把UI設(shè)計(jì)師給出的設(shè)計(jì)圖添加進(jìn)來(lái)碳抄,如圖:
然后點(diǎn)擊一下圖片,這時(shí)會(huì)把UI設(shè)計(jì)圖覆蓋在界面上笛厦,然后纳鼎,我們用手指從上到下滑動(dòng),就可以讓UI設(shè)計(jì)圖變得透明裳凸, 雙擊退出贱鄙。如圖:
System Coloer Audit
這個(gè)還不知道做什么的,點(diǎn)進(jìn)去會(huì)是空白的列表.