sirven samsung puedo para otro con como cargar cargador audifonos apagado adaptador android iphone graphics uiimage nine-patch

android - samsung - ¿Hay un cargador de nueve parches para iPhone?



como cargar un iphone sin cargador (4)

Recibí un correo electrónico del software Tortuga22 que me informó que habían creado dicha biblioteca y la habían liberado bajo la licencia de Apache:

Anuncio: http://blog.tortuga22.com/2010/05/31/announcing-tortuga-22-ninepatch/

Código fuente: http://github.com/tortuga22/Tortuga22-NinePatch

Ejemplo de uso:

// loads-and-caches ninepatch and rendered image of requested size UIImage buttonImg = [TUNinePatchCache imageOfSize:buttonSize forNinePatchNamed:@"buttonNormalBackground"]; [self.buttonNeedingBackground setImage:buttonImg forControlState:UIControlStateNormal];

Android tiene una buena manera de definir imágenes estirables llamadas nueve parches. Vea estos documentos para una descripción del concepto. La idea es rodear una imagen png con un borde de 1 píxel donde pueda definir las áreas extensibles y las dimensiones de relleno de la imagen. Esto es absolutamente brillante y me gustaría usar la idea en mi aplicación para iPhone. Antes de escribir mi propio parche de nueve en el cargador de UIImage pensé que vería si ya existe uno. Google no devuelve ningún resultado, así que no tengo muchas esperanzas, pero no me duele preguntar, ¿verdad? :-)

EDITAR: amigos, aprecio las respuestas pero sé acerca de stretchableImageWithLeftCapWidth... Estoy buscando un código que tome una ruta @"foo.9.png" y devuelva un UIImage estirable. Este código, sin duda, utilizará stretchableImageWithLeftCapWidth... internamente. Estoy seguro de que podría escribir el código yo mismo usando ese método. Pero estoy preguntando si alguien más ya lo ha hecho.


Sí, UIImage apoya algo así. Ver

- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight y la documentación de leftCapWidth y topCapHeight

Básicamente, la imagen no se estira en el área leftCapWidth píxeles desde el borde izquierdo y derecho y topCapHeight píxeles desde la parte superior e inferior. Cuando la imagen se escala, el área dentro de estos límites está sujeta a estiramiento.


También mira la propiedad contentStretch de UIView. Es más robusto y de buen comportamiento que stretchableImageWithLeftCapWidth. Básicamente, funciona simplemente definiendo el rectángulo elástico dentro de su imagen y creando automáticamente un parche de nueve escalas. Este rectángulo interno puede ser cualquier cosa, ni siquiera tiene que estar en el centro de la imagen. Además, a diferencia de stretchableImage, este método reducirá adecuadamente los gráficos y se comportará como se espera para los gráficos con iluminación o brillo. No puedo pensar en ninguna aplicación del mundo real en la que quieras más que esto.


Todas las imágenes de UIImage soportan esto de forma nativa. Por defecto, las imágenes completas son extensibles, pero puede establecer límites con las propiedades leftCapWidth y topCapHeight o puede generar una desde un UIImage existente con - (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight

Tenga en cuenta que en la implementación de Apple, cuando establece uno o ambos de estos valores, el área extensible se ve forzada a tener un solo píxel alto / ancho.