¿Hay un cargador de nueve parches para el iPhone?
Android tiene una buena forma de definir imágenes extensibles 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 se pueden 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 de iPhone. Antes de escribir mi propio parche nueve a UIImage loader pensé que vería si uno ya existe. Google no devuelve ningún resultado por lo que no tengo mucha esperanza, pero no duele preguntar, ¿verdad? Todos los derechos reservados
EDIT: Gente, agradezco las respuestas, pero sé de stretchableImageWithLeftCapWidth...
Estoy buscando el código que toma un camino @"foo.9.png"
y devuelve un UIImage
estirables. 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.
- Buscando una herramienta de creación de gráficos de 9 parches
- ¿Hay una herramienta para permitir el uso de 9 parches de Android en Javascript?
- forma androide con un fondo repetido
- ¿Por qué la imagen de nueve parches en RelativeLayour oculta todos los elementos internos?
- El gráfico de 9 parches de Android no se escala en la vista de imagen
- ¿Cómo cambiar el diseño y el color del fondo del hilandero para android?
- Diferentes imágenes de 9 parches para diferentes densidades?
- ¿Cómo puedo diseñar las pestañas de Android para obtener un aspecto 3D?
- Dibujo de nueve parche sobre lienzo (Android)
- ¿Cómo volver al estilo predeterminado en EditText si aplico un fondo?
- Facebook-esque Popup ¿Cómo?
- Definir un estilo personalizado (tema) en un componente de conmutador Android
- ? Android: attr / selectableItemBackground con otro fondo existente
Recibí un correo electrónico de Tortuga22 software que me informó que han creado tal biblioteca y lo lanzó 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];
También busque en la propiedad contentStretch de UIView. Es más robusto y bien comportado que stretchableImageWithLeftCapWidth. Básicamente, funciona definiendo el rectángulo extensible dentro de la imagen y creando automáticamente un patch de nueve escala. 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á correctamente 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 donde desearía más que esto.
Sí UIImage
apoya algo parecido. 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 de los bordes izquierdo y derecho y topCapHeight píxeles de la parte superior e inferior. Cuando la imagen se escala, el área dentro de estos límites está sujeta a estiramiento.
Todas las imágenes de UIImage
soportan esto de forma nativa. De forma predeterminada, las imágenes enteras se pueden estirar, pero puede establecer tapas con las propiedades leftCapWidth
y topCapHeight
o puede generar una de una UIImage
existente con el método - (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight
.
Tenga en cuenta que en la aplicación de Apple, cuando se establece uno o ambos de estos valores, el área extensible se ve obligado a ser un solo píxel alto / ancho.
- Cómo construir un Widget Android Simple
- Cualquier ejemplo que muestre cómo iniciar sesión con Facebook SDK 4.0 en Android, ya sea utilizando el botón propio o el botón de Facebook?