Mam , który jest zainicjalizowany z poprawną ramką, jednak gdzieś w moim kodzie klatka zostaje zmanipulowana i mam problem ze znalezieniem gdzie.Jak wykryć, kiedy zmieniono rozmiar UIView?
W takich sytuacjach zwykle jest przydatna do watch
zmienna w debugerze, jednak nie mam dostępu do właściwości kontrolera-> view-> frame w moim widoku zmiennych, ponieważ nie jest zmienną, to jest właściwość (o dziwo)
Wiercenie w UIView na wyświetlaczu zmiennych pokazuje kilka rzeczy, ale nic nie mogę odnieść do ramki, myślałem, że może to być w layer
, ale tak nie jest.
Czy jest jakiś sposób na oglądanie zmian w prywatnym interfejsie API? Chyba nie, ponieważ zmienne są w zasadzie "ukryte", więc nie można dokładnie określić, co do watch
.
Alternatywnie, z jakiej innej metody mogę skorzystać? Próbowałem już podklasy UIView, ustawiając widok UIViewController, aby wskazał tę podklasę i złamał metodę setFrame, ale nie działało.
EDYCJA: metoda DID klasy podklasy UIView, musiałem ustawić widok tak, aby wskazywał na moją podklasę testową w viewDidLoad
, a nie na metodę init
. Pozostawiając to pytanie otwarte, ponieważ nie jestem pewien, czy jest to najlepszy sposób podejścia do tego rodzaju problemu ...
Czy oglądałeś tylko dla 'contentSize' lub czy była tam inna właściwość, z której korzystałeś? – Echilon