13

Quiero convertir un "aRect" CGRect de un objeto en una vista secundaria en UITableViewCell en UITableView a CGRect con respecto al self.view.CGRect de un objeto en una vista secundaria en UITableViewCell en uitable a CGRect con respecto al self.view

El problema es que aRect es con respecto a la subvista en la celda de la tabla. Pero quiero hacerlo de modo que sea con respecto a self.view.

lo que he intentado es este

rect = [self.view convertRect:aRect.frame toView:cellView]; 

pero no funciona.

Entonces, ¿cómo convertirlo?

+0

¿Hay un error de redacción con "aRect.frame"? Debería ser "aRect" en su lugar. –

+0

OH sí, es un error tipográfico. pero cuando eliminé .frame, todavía no funciona –

Respuesta

23

Desde convertRect:toView: realidad se ocupa de un CGRecten el sistema de coordenadas del receptor, tal vez[cellView convertRect:theFrame toView:self.view] (es decir, el intercambio de los dos puntos de vista en su llamada) va a funcionar como se pretendía.

+0

O use la variante fromView. – drawnonward

+0

thx evadne. Por cierto, ¿cuál es la diferencia entre la variante toView y la variante fromView? –

+1

Llamar a la variante 'toView' significa que el rect se encuentra en el sistema de coordenadas de la vista y queremos saber su equivalente en el sistema de coordenadas de la otra vista. Llamar a la variante 'fromView' significa que queremos saber dónde se colocará un rect que reside en la otra vista en la vista del receptor. –

Cuestiones relacionadas