震驚!iOS 系統(tǒng)居然自帶懸浮窗口調(diào)試工具 —— Jinkey 原創(chuàng)

image

本文作者 Jinkey(微信公眾號(hào) jinkey-love,官網(wǎng) https://jinkey.ai
原文鏈接 https://jinkey.ai/post/tech/mac-ren-yi-pythonhuan-jing-an-zhuang-caffe-de-zhong-ji-jiao-cheng
文章允許非篡改署名轉(zhuǎn)載,刪除或修改本段版權(quán)信息轉(zhuǎn)載的,視為侵犯知識(shí)產(chǎn)權(quán),我們保留追求您法律責(zé)任的權(quán)利,特此聲明!

1 背景

英文原文:
http://ryanipete.com/blog/ios/swift/objective-c/uidebugginginformationoverlay/
我寫得這個(gè)并不是翻譯而是用自己的理解重新表述這個(gè)功能,和原文內(nèi)容有出入,有能力的可以查看英文原文

我們經(jīng)常使用各種調(diào)試工具,或者開源庫來支持懸浮窗調(diào)試信息,但蘋果的私有方法就提供了UIDebuggingInformationOverlay。


2 如何使用

在 AppDelegate 的 didFinishLaunchingWithOptions 方法中加入兩行代碼即可。

let overlayClass = NSClassFromString("UIDebuggingInformationOverlay") as? UIWindow.Type
_ = overlayClass?.perform(NSSelectorFromString("prepareDebuggingOverlay"))

運(yùn)行程序后,兩根手指點(diǎn)擊狀態(tài)欄即可調(diào)起這個(gè)調(diào)試的懸浮層

3 能做什么

3.1 查看整個(gè) window 的 View嵌套關(guān)系

View Hierarchy

這個(gè)功能可以查看頁面層級(jí)的結(jié)構(gòu)樹,點(diǎn)擊感嘆號(hào)進(jìn)入詳情頁(點(diǎn) cell 是沒反應(yīng)的),會(huì)展示那個(gè) view 的 frame、bounds 和其他一些實(shí)例變量


3.2 查看當(dāng)前 ViewController 的屬性

VC Hierarchy

查看激活的 ViewController 的 childrenViewCotroller 的結(jié)構(gòu)樹和相關(guān)屬性


3.3 查看 UIApplication 的成員屬性

Ivar Explorer

3.4 測量組件大小

Measure

一開始還挺懵逼不知道要怎么用,后來發(fā)現(xiàn)手指是直接在懸浮窗的外部進(jìn)行進(jìn)行拖動(dòng)就可以了,如果你的組件被懸浮窗擋住了好像就沒辦法了。
選擇 Vertical ,手指在屏幕拖動(dòng)即可顯示某個(gè)組件的高度;
選擇 Horizontal ,手指在屏幕拖動(dòng)即可顯示某個(gè)組件的 寬度;


3.5 效果對(duì)比

Spec Compare

從相冊(cè)讀取一個(gè)圖片(你必須在info.plist 先配置相冊(cè)權(quán)限NSPhotoLibraryUsageDescription)和當(dāng)前界面對(duì)比。
點(diǎn)擊 Add -> 從相冊(cè)選擇一個(gè)界面截圖 -> 點(diǎn)擊剛添加的截圖 -> 手指在屏幕(懸浮窗外部)上下滑動(dòng) -> 即可動(dòng)態(tài)改變截圖的透明度來對(duì)比截圖和當(dāng)前界面的差異 -> 雙擊退出。


我的微信公眾號(hào) jinkey-love 歡迎交流

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容