InAppViewDebuggerUIView 調(diào)試工具
InAppViewDebugger 是一個(gè) UIView 調(diào)試器(類似 Reveal 或 Xcode),可以嵌入到應(yīng)用中實(shí)現(xiàn)設(shè)備的調(diào)試功能。
InAppViewDebugger 是可以實(shí)現(xiàn)了視圖調(diào)試器的庫,提供三維視圖快照和視圖的層次圖。類似 Reveal 和 Xcode 的視圖調(diào)試器 。關(guān)鍵的區(qū)別在于其可以嵌入到應(yīng)用中,并可直接在設(shè)備上調(diào)試 UI 問題,無需在電腦上進(jìn)行調(diào)試。
主要特性
- 使用 SceneKit 實(shí)現(xiàn)的 3D 快照視圖:支持手勢(shì)控制縮放、旋轉(zhuǎn)和縮放
- 可通過三維的方式展示視圖的層次結(jié)構(gòu),并可對(duì)視圖的選擇進(jìn)行同步更新顯示:這是 Xcode 沒有的特性,可以查看某個(gè)視圖組件在層次結(jié)構(gòu)中的位置
- 支持 iPad 和 iPhone
- 可擴(kuò)展: 基礎(chǔ)的實(shí)現(xiàn)支持
UIView但很容易對(duì)其進(jìn)行擴(kuò)展以支持任意類型的 UI 框架,如 CoreAnimation 或者 SpriteKit
要求
- iOS 11.0+
- Xcode 10.1+ (framework built for Swift 4.2)
安裝
CocoaPods
在你的 Podfile 添加如下代碼:
pod 'InAppViewDebugger', '~> 1.0.0'
Carthage
在你的 Cartfile 添加如下代碼:
github "indragiek/InAppViewDebugger" "1.0.0"
使用
Swift
import InAppViewDebugger
@IBAction func showViewDebugger(sender: AnyObject) {
InAppViewDebugger.present()
}
Objective-C
@import InAppViewDebugger;
// alternative import (they're the same):
// #import <InAppViewDebugger/InAppViewDebugger-Swift.h>
- (IBAction)showViewDebugger:(id)sender {
[InAppViewDebugger present];
}
lldb
(lldb) expr -lswift -- import InAppViewDebugger
(lldb) expr -lswift -- InAppViewDebugger.present()
present 函數(shù)顯示你應(yīng)用關(guān)鍵窗體的 UI 層次結(jié)構(gòu)。
Controls
元素聚焦
調(diào)整不同層級(jí)的距離
調(diào)整可視化層級(jí)
顯示和隱藏標(biāo)題
顯示和隱藏邊框
定制
你可以對(duì)快照視圖和層次視圖的顏色、字體和其他屬性進(jìn)行定制,只需創(chuàng)建一個(gè)自定義的 Configuration即可。配置信息傳遞給函數(shù) InAppViewDebugger.presentForWindow(:configuration:completion:).
擴(kuò)展其他 UI 框架
當(dāng)前實(shí)現(xiàn)只支持 UIView 層次結(jié)構(gòu),但很容易可以擴(kuò)展對(duì)其他 UI 框架的支持。只要遵循 Element 協(xié)議即可。請(qǐng)看 ViewElement 來了解一個(gè)具體的實(shí)現(xiàn)示例。
評(píng)論
圖片
表情
