2011-10-12 16 views
7

Mi problema es básicamente el mismo que this one. Tengo una UIView y cuando la giro utilizando CGAffineTransformMakeRotation, los bordes no se suavizan.Cómo hacer un antialiasing en una UIView girada (NO UIImageView)

Intenté tanto agregar la vista como una subvista en una UIView más grande y usar un borde transparente en la vista, pero ninguno de estos funcionó.

El OP de la publicación mencionada anteriormente resolvió esto haciendo una imagen con bordes transparentes en photoshop y utilizando un UIImageView en su lugar, pero no puedo hacer lo mismo porque el tamaño de UIView se determina en tiempo de ejecución.

¿Alguien sabe alguna solución a este problema?

Tenga en cuenta que esto no es un duplicado de la publicación this porque estoy interesado en usar una UIView y NO una UIImageView.

Respuesta

19

Inténtelo de UIViewEdgeAntialiasing = SI en su App-info.plist

+0

Esto funciona de verdad! Lo siento por las edades que tardé en ver tu respuesta ... – Kremk

+0

¿Sabes si esto aumenta el uso de la CPU para tu aplicación? –

0

Lo resolví creando una imagen de 3x3 px en photoshop. El píxel central de la imagen tiene el color que quería que tuviera mi fondo y el resto de los píxeles son transparentes. Luego, pude usar una instancia de UIImageView y definir el tamaño del marco en tiempo de ejecución utilizando el método -stretchableImageWithLeftCapWidth: topCapHeight :.

Esta solución, por supuesto, todavía no funciona para UIViews pero de esa manera se puede eludir el problema de "tamaño variable" y utilizar un UIImageView en su lugar.

Cuestiones relacionadas