/ / anular UIView setFrame globalmente - ios, object-c, uiview, object-c-category

anular UIView setFrame globalmente - ios, object-c, uiview, object-c-category

Quiero asegurarme de que ninguno de mis puntos de vista sondesalineado y, por lo tanto, querría usar CGRectIntegral al configurar el marco en todas las vistas de usuario. Pero no quiero hacerlo para que todos los desarrolladores configuren el marco como lo harían normalmente (por ejemplo, view.frame = aCGRect) y funciona mágicamente. Intenté agregar una categoría y luego anular el método setFrame: UIView pero eso (¡Obviamente!) Crea un bucle infinito:

-(void)setFrame:(CGRect)frame{
self.frame = CGRectIntegral(frame)
}

¿Hay una forma mejor de hacerlo que agregar una función de utilidad?

Respuestas

1 para la respuesta № 1

Si es sólo para el desarrollo / diagnóstico, quizás podría swizzle el método original (-[UIView setFrame:]) pero llame al método original en su implementación, pasando el rect ajustado.