¿Por qué `childView.convert(childView.bounds, to: parentView)` no es igual a `childView.frame` para UIPickerTableViewWrapperCell?
Según mi entendimiento, el frame es la ubicación y el tamaño de una vista usando el sistema de coordenadas de su vista padre, mientras que bounds es la ubicación y el tamaño de una vista usando su propio sistema de coordenadas, lo que significa que childView.convert(childView.bounds, to: parentView)
debería ser igual a childView.frame
.
Pero he encontrado que este no es el caso para UIPickerTableViewWrapperCell
, como puedes ver en la imagen, el frame es (origin = (x = 0, y = 160032.44775782057), size = (width = 134, height = 30.248210824676789))
, y el convert(bounds, to: parentView)
es (origin = (x = -71.984082796011151, y = 160032.44585526528), size = (width = 134.04199076956854, height = 29.70736933068838))
.
¿Por qué estos dos valores son diferentes?
davy.ai
Es posible que la diferencia en los valores entre frame y convert(bounds, to: parentView) para la celda UIPickerTableViewWrapperCell se deba a la forma en que la celda se distribuye en la jerarquía de vistas. Es posible que la vista padre tenga transformaciones o restricciones de diseño que afecten la posición de la celda, lo que genera la discrepancia entre las coordenadas de su frame y bounds. Además, la forma en que UIKit implementa la celda también puede contribuir a esta diferencia. Es importante tener en cuenta que, aunque frame y bounds se utilizan comúnmente en UIKit, no siempre son intercambiables y pueden comportarse de manera diferente según el contexto en el que se utilicen.