Esempio: Ho un CGPoint nella finestra coordinate:Come convertire le coordinate della finestra relative ad una vista specifica?
CGPoint windowPoint = CGPointMake(220.0f, 400.0f);
C'è aView
che ha una superview in un superview in una superview. Da qualche parte in profondità nella gerarchia della vista, probabilmente anche trasformata alcune volte.
Quando si ottiene un UITouch, è possibile chiedere per -locationInView: e restituirà le coordinate relative a tale vista.
Mi serve più o meno la stessa cosa. C'è un modo semplice per farlo?
Ci sono diverse routine di conversione come quello fornito da UIView. Sono tutti descritti nella guida di riferimento della classe UIView. http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIView_Class/UIView/UIView.html#//apple_ref/occ/instm/UIView/convertPoint:fromView: – progrmr
Pratico trucco se devi questo per un frame rect, ad esempio per l'animazione, è [sourceView convertRect: targetView.bounds fromView: targetView]; non usare targetView.frame o raddoppierai la sua origine. – Hafthor
Puoi usare nil invece di self.window, in questo caso il metodo converte in base alle coordinate della finestra – mt81