Comment définissez-vous STRETLABLEIMAGEWITHEFTCAPPAIDTH dans l'interface Builder? P>
5 Réponses :
Builder d'interface ne prend pas en charge les images extensibles.
-(void) viewDidLoad { [super viewDidLoad]; [myImageView setImage:[[myImageView image] stretchableImageWithLeftCapWidth:5 topCapHeight:5 ]]; }
Builder d'interface ne prend pas en charge les images extensibles. Code> ==> Désolé, mais ça fait.
Stretting CODE> La pièce prend ce rôle, mentionné dans ma réponse ci-dessous
Ceci est actuellement (à partir de la version 4.5) une limitation de l'interfaceBuilder. Cependant, devoir créer un Au lieu de cela, créez une sous-classe iboutlet code> pour chaque bouton et spécifier manuellement que l'image est extensible dans
ViewDiDloadload code> n'est pas une excellente solution, si elles ne peuvent créer le UI plus encombrant et aussi plus fragile.
uibutton code> qui rendra toujours une image de fond extensible par défaut. Dans cet exemple, je n'étiends que l'image de fond normale et surlignée. Pour une classe prête à la production, vous voudrez probablement vérifier tous les états em> d'images et d'images de premier plan et de les étirer. p>
Semblable à @Asanswerbot, mais mis à jour pour iOS 5.0+ comme ExtentableImageWithLeftCapwidth: Topcapheight: code> est maintenant obsolète.
@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 a également introduit des catalogues d'actifs dans lesquels vous pouvez spécifier la zone extensible de vos images, mais que cela ne fonctionne que si vous ne prenez en charge que IOS7 (c'est-à-dire que vous ne vous souciez pas des utilisateurs de l'iPad d'origine, iPod Touch ou 3GS; Ouais , il n'y a pas de fragmentation dans iOS). P>
Utiliser Tout d'abord, changez le mode de la vue sur puis modifier x, y, largeur, champ de hauteur dans étirement code> configs dans
Voir la section code>. p>
FILL FILL CODE>. P> LI>
étirement code> pièce.
Par exemple: Disons que vous avez une taille d'image 10x20 et que vous voulez l'adapter à la taille de la vue 5x10 ==> SET X = 5/10 = 0.5, Y = 10/20 = 0.5 P> L>
ul>