Ho un UIViewController
che è inizializzato con una cornice corretta, tuttavia da qualche parte nel mio codice il telaio viene stravolto e ho difficoltà a scoprire dove.Come rilevare quando un UIView ha cambiato dimensione?
In situazioni come questa di solito è utile per watch
una variabile nel debugger, tuttavia non ho modo di accedere alla proprietà controller-> view-> frame nella mia vista variabile, poiché non è una variabile, è una proprietà (abbastanza sorprendentemente)
Drillare nella visualizzazione UIV nel display delle variabili mostra alcune cose ma nulla che possa riguardare il frame, ho pensato che forse sarebbe in layer
ma non lo è.
C'è un modo per controllare le modifiche in un'API privata? Immagino di no, dal momento che le variabili sono essenzialmente 'nascoste' e quindi non è possibile specificare esattamente cosa fare a watch
.
In alternativa, quale altro approccio potrei usare? Ho già provato la creazione di sottoclassi di UIView, impostando la vista di UIViewController in modo che punti a questa sottoclasse e interrompendo il metodo setFrame, ma non sembra funzionare.
MODIFICA: la sottoclasse UIView metodo DID lavoro, ho appena dovuto impostare la vista per puntare alla mia sottoclasse di prova in viewDidLoad
e non al metodo init
. Lasciando aperta questa domanda non sono sicuro se questo è il modo migliore per affrontare questo tipo di problema ...
Stavi solo guardando per 'contentSize' o c'era un'altra proprietà che hai usato? – Echilon