¿Cómo se establece stretchableImageWithLeftCapWidth en el constructor de interfaz?¿Cómo se establece stretchableImageWithLeftCapWidth en el constructor de interfaz?
Respuesta
El generador de interfaz no es compatible con imágenes elásticas.
-(void) viewDidLoad {
[super viewDidLoad];
[myImageView setImage:[[myImageView image] stretchableImageWithLeftCapWidth:5 topCapHeight:5 ]];
}
Esto es actualmente (a partir de la versión 4.5) una limitación de InterfaceBuilder. Sin embargo, tener que crear un IBOutlet
para cada botón y especificar manualmente que la imagen es estirable en viewDidLoad
no es una gran solución, aunque solo sea por hacer que la UI sea más engorrosa y quebradiza.
En lugar de eso, creemos una subclase UIButton
que siempre hará que cualquier imagen de fondo sea estirable de forma predeterminada. En este ejemplo, solo extiendo la imagen de fondo normal y resaltada. Para una clase preparada para producción, probablemente desee verificar todos los estados de imágenes de fondo y en primer plano y estirarlas.
@implementation NTSTButton
- (id) initWithCoder:(NSCoder *)aDecoder {
self = [super initWithCoder:aDecoder];
if (self) {
/* There is no support in IB for stretchable images. So, let's
make sure _any_ background image assigned to this button
stretches correctly.
Note: Setting the stretch cap to 10px, which should work with
almost all button background images.
*/
UIImage *normalImage =
[[self backgroundImageForState:UIControlStateNormal]
stretchableImageWithLeftCapWidth:10 topCapHeight:10] ;
UIImage *highlightedImage =
[[self backgroundImageForState:UIControlStateHighlighted]
stretchableImageWithLeftCapWidth:10 topCapHeight:10] ;
[self setBackgroundImage:normalImage
forState:UIControlStateNormal];
[self setBackgroundImage:highlightedImage
forState:UIControlStateHighlighted];
}
return self;
}
@end
+1 gracias por la dirección – Brenden
similares a @answerbot, pero actualizado para iOS 5.0+ como stretchableImageWithLeftCapWidth:topCapHeight:
ahora es obsoleto.
@implementation UIButtonStretchable
- (id) initWithCoder:(NSCoder *)aDecoder {
self = [super initWithCoder:aDecoder];
if (self) {
[self setBackgroundImage: [[self backgroundImageForState:UIControlStateNormal] resizableImageWithCapInsets:UIEdgeInsetsMake(22,6,22,6)]forState:UIControlStateNormal];
[self setBackgroundImage: [[self backgroundImageForState:backgroundImageForState:UIControlStateHighlighted] resizableImageWithCapInsets:UIEdgeInsetsMake(22,6,22,6)]forState:backgroundImageForState:UIControlStateHighlighted];
}
return self;
}
@end
iOS7 catálogos activos también introdujo en el que puede especificar el área estirable de sus imágenes, sino que sólo funciona si es compatible con iOS7 (es decir, que no se preocupan por los usuarios del iPad original, iPod touch, o 3GS; sí, no hay fragmentación en iOS).
Use Stretching
de templates en View
Sección.
Antes que nada, cambie el modo de vista a
Aspect fill
.Luego edite el campo X, Y, Ancho, Altura en
Stretching
parte. Por ejemplo: Digamos que usted tiene un 10x20 tamaño de la imagen, y quiere encajar en un tamaño de 5x10 vista ==> Set X = 5/10 = 0,5, Y = 10/20 = 0,5
NOTA: IB no le permite usar una imagen más pequeña para "estirar" en un marco más grande, por lo que necesita diseñar su imagen lo más grande posible
- 1. Constructor no establece variable miembro
- 2. Tipo de interfaz Constructor
- 3. C# constructor de interfaz
- 4. ¿Cómo abrir el constructor de interfaz en Xcode 4?
- 5. ¿Cómo se establece el orden de tabulación en Swing Java?
- 6. Establecer el fondo de UITableview en el constructor de interfaz?
- 7. ¿Cómo agregar UIScrollView al constructor de interfaz?
- 8. distribuir la opción en el constructor de interfaz de iPhone
- 9. GCM FC/ID del remitente no se establece en el constructor de
- 10. ¿Cómo se establece el orden de los mensajes de validación?
- 11. ¿Cómo se establece el encabezado para JTable?
- 12. construcción de imagen extensible en el constructor de interfaz
- 13. Orden de tabulación en el constructor de interfaz?
- 14. UIImageView con stretchableImageWithLeftCapWidth no se estira la imagen
- 15. ¿Qué se puede dibujar simultáneamente constructor de interfaz?
- 16. ¿Cómo se establece el código de color en StackOverflow?
- 17. ¿Cómo se establece el tamaño de fuente en un UIBarButtonItem?
- 18. ¿Cómo se establece el orden de las bibliotecas en automake?
- 19. ¿Cómo se establece origen/HEAD?
- 20. condicional Constructor método de encadenamiento Fluido interfaz
- 21. cómo se establece en el título CENTRO en AlertDialog?
- 22. ¿Cómo agrego imágenes al constructor de interfaz en XCode?
- 23. iPhone stretchableImageWithLeftCapWidth solo hace "D" s
- 24. ¿Cómo se establece el texto en un NSTextField?
- 25. ¿Cómo se establece el botón predeterminado en PyGTK?
- 26. ¿Cómo se establece el classpath para rJava en R?
- 27. ¿Cómo se establece el índice z en Ext.Panel (ExtJS)?
- 28. @ 2x las imágenes no se muestran en el diseñador del constructor de interfaz XCode4
- 29. ¿Cómo se establece el tamaño del contenido de un UIPopoverController?
- 30. ¿Cómo se establece el foco de un elemento textarea TinyMCE?
'El constructor de interfaz no admite imágenes estirable. == Lo siento, pero hace. La parte 'Stretching' toma este rol, mencionado en mi Answer below – samthui7