J'utilise un UIButton dans mon application. Ce titre de bouton est affiché dynamiquement selon le choix de l'utilisateur. Maintenant, je dois redimensionner la largeur du bouton selon le contenu du titre. Je calcule la longueur de la chaîne et l'affecte à la largeur du bouton. Le bouton est redimensionné selon le titre, mais le problème est le suivant: 1. Si le titre avec un grand contenu est d'abord affiché et après que si un titre avec un petit contenu est indiqué signifie que le bouton est écrasé il doesn Ne retirez pas la valeur précédemment construite. 2. il semble que l'un des boutons se chevauche sur l'autre.UIButton à redimensionner
0
A
Répondre
0
Pour moi, il semble que vous ne changiez pas la largeur du bouton, mais vous ajoutez un autre bouton. Ajoutez-vous les boutons dans le code? Si oui, pourriez-vous poster le code? En général, si vous souhaitez ajouter un autre bouton, il est préférable de lui donner une étiquette et de supprimer la vue avec cette étiquette (c'est-à-dire l'ancien bouton) de la vue précédente avant d'ajouter la nouvelle.
Cela devrait ressembler à ceci (à partir du haut de ma tête):
UIButton * button = [[[UIButton alloc] init] autorelease];
button.tag = 100;
/* ...set up the button the way you would normally do... */
// remove old button
[[targetView viewWithTag: 100] removeFromSuperview];
// add new button
[targetView addSubview: button];
La balise est un entier arbitraire utilisé pour identifier une vue. Il serait préférable de #define
vos étiquettes utilisées dans un endroit central.
2
En supposant, vous avez votre bouton d'attribut dans votre classe
-(void)changeTitleButtonWithValue:(NSString *)value
{
//get the value length (- (CGSize)sizeWithFont:(UIFont *)font)
size = [value sizeWithFont:yourFont];
self.button.frame = CGRectMake(x, y, size.width,size.height);
[self.button setTitle:value forState:UIControlStateNormal];
[self.button setTitle:value forState:UIControlStateHighlighted];
}
Edit: vous avez plusieurs façons d'obtenir votre bouton
- Votre créer de Interface Builder
- Ajoutez en tant que point de vente
- Définissez-le comme tag et getIt avec UIButton * myButton = (UIButton *) [self.view viewForTag : YOURTAG];
- vous le créez à partir du code
- Instance Attribut
- Même chose avec étiquette mais quand vous créez: myButton.tag = YOURTAG;
Questions connexes
- 1. UIButton redimensionner avec animation
- 2. Redimensionner l'image pour tenir dans UIButton
- 3. Comment redimensionner UIButton pour qu'il s'adapte à UIImageView?
- 4. Lier l'action à UIButton
- 5. Ajout d'un UIButton à UIScrollView
- 6. Comment afficher badgeNumber à UIButton
- 7. Un UIButton à la fois
- 8. Animer mouvement et à l'échelle de l'image UIButton
- 9. uibutton title
- 10. Shrink UIButton
- 11. Générer UIButton
- 12. Événements UIButton
- 13. multiline uibutton
- 14. UIbutton extensible
- 15. uibutton + setselected
- 16. Événements Uibutton
- 17. UIButton hypersensible
- 18. iPhone: Force UIButton à se redessiner
- 19. Ancre UIButton à gauche d'un UILabel
- 20. Ajout d'un UIButton à UINavigationController par programme
- 21. iPhone UIButton buttonType évalue toujours à 0?
- 22. à ajouter deuxième UIButton dans cameraOverlayView
- 23. Dessiner des graphiques à l'intérieur d'un UIButton
- 24. Affectation d'une animation à un UIButton
- 25. Ajout d'un UIButton à gauche d'un UISearchBar?
- 26. connecter un UIActivityIndicator à un UIButton
- 27. Redimensionner un graphique sur parent div redimensionner
- 28. NSOpenGLView redimensionner sur la fenêtre redimensionner
- 29. UIButton dans UITableViewController
- 30. Animer des images UIButton
Fonctionne-t-elle? – Francescu