最近我一直在iOS應用中遇到一些細微的佈局問題。例如,從應用程序的一部分顯示viewController會導致某些子視圖的佈局被更改(z軸排序更改)。另一個微妙的問題是導航欄略微閃爍。調試細微的iOS視圖佈局問題
調試這些問題有哪些技術?
我特別感興趣的是打印/記錄物體的屬性。例如,我想轉儲/打印/記錄上面引用的viewController的所有屬性,以確切地看到哪些更改。那麼也許可以使用符號斷點來指出原因。
最近我一直在iOS應用中遇到一些細微的佈局問題。例如,從應用程序的一部分顯示viewController會導致某些子視圖的佈局被更改(z軸排序更改)。另一個微妙的問題是導航欄略微閃爍。調試細微的iOS視圖佈局問題
調試這些問題有哪些技術?
我特別感興趣的是打印/記錄物體的屬性。例如,我想轉儲/打印/記錄上面引用的viewController的所有屬性,以確切地看到哪些更改。那麼也許可以使用符號斷點來指出原因。
您可以使用KVO觀察幀的變化,因此您知道什麼時候,從什麼變化到什麼值。你甚至可以用它來修復一些屬性值。 (請參閱Prevent indentation of UITableViewCell (contentView) while editing)
您可以使用反射循環對象的所有屬性。我不知道這種廣泛的方法會對你有多大幫助,但這是可能的。 (見Loop through all object properties at runtime)
結賬DCIntrospect。這是一個工具,可以很方便地查看視圖的信息。
另一種使用的技術是使用重寫方法重新定義UIView的子類,以重新定位視圖或其他方面 - 然後您可以在框架更改時設置斷點或記錄或其他屬性。
要使用UIView調試類,您可以將InterfaceBuilder中的視圖類型更改爲您的自定義視圖類型而不是UIView。
使用iOS應用佈局調試工具 revealapp.com 就在您的應用程序和工作結合revealapp SDK作爲螢火蟲