Comment puis-je augmenter la largeur de bouton dynamiquement dépend de la taille du texte de l'iphone?
J'ai créé 10 boutons par programme et définir les titres dans le bouton. Maintenant, je veux augmenter le bouton de la taille de l'image dynamiquement,sa dépend du texte.
J'ai donné certaines conditions et de définir la taille d'image. mais comment puis-je régler l'image exacte de la taille dépend du texte(le texte de façon dynamique).
Voici mon code d'exemple est,
float x=0, y=0, w, h=20;
for(int i = 100; i < 110; i++)
{
btn = [[UIButton buttonWithType:UIButtonTypeRoundedRect] retain];
UIImage * img = [UIImage imageNamed:@"Round_Rect4.png"];
[btn setBackgroundImage:img forState:UIControlStateSelected];
titleString = [titleArray objectAtIndex:i-100]; //get button title
if([titleString length] <= 5)
{
w = 50;
btn.frame = CGRectMake(x,y,w,h);
x = x + 70;
}
if (([titleString length] >= 6) && ([titleString length] <=10))
{
w = 70;
btn.frame = CGRectMake(x,y,w,h);
x = x + 90;
}
if(([titleString length] >= 11) && ([titleString length] <=15))
{
w = 105;
btn.frame = CGRectMake(x,y,w,h);
x = x + 120;
}
if([titleString length] >= 16)
{
w = 120;
btn.frame = CGRectMake(x,y,w,h);
x = x + 140;
}
[btn setTitle:titleString forState: UIControlStateNormal];
[btn setTag:i];
[self.view addSubview:btn];
}
voir l'exemple de l'image,
image-2 http://www.freeimagehosting.net/uploads/b6e0f234dc.png
image-1 http://www.freeimagehosting.net/uploads/6b3daab12f.png
Alors, est-ce possible de définir l'exacte image du bouton taille qui dépend du texte?, plz me guider.
Grâce
OriginalL'auteur Pugal | 2010-07-21
Vous devez vous connecter pour publier un commentaire.
Non; vous avez à faire vous-même — quelque chose comme
btn.contentEdgeInsets = (UIEdgeInsets){.left=8,.right=8}
OriginalL'auteur tc.
J'ai eu la réponse et mon code de travail est,
[titleString sizeWithFont:btn.font]
?Si j'ai utilisé [titleString sizeWithFont:btn.police] ce code et le message d'avertissement est affiché.(Police est déconseillée).
utilisation
[titleString sizeWithFont:[btn titleLabel].font]
au lieu de cela, pour éviter d'avertissement.OriginalL'auteur Pugal
Solution très simple:
Merci pour cette solution. sauvé mon temps. Bingo! (Y)
OriginalL'auteur user1551110
Copier collé de Pommes de Bulles au Niveau du code source.
C'est la ligne que vous souhaitez
code complet ici
OriginalL'auteur John Ballinger