J'ai dû oublier quelque chose de complètement évident ?? mais mon bouton affiche correctement son image et sa taille, mais je ne parviens tout simplement pas à faire apparaître le titre.
J'ai fait un test très simple, le titre ne s'affiche même pas lorsque je fais ceci:
CGRect frameBtn = CGRectMake(160.0f, 150.0f, 144.0f, 42.0f);
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setImage:[UIImage imageNamed:@"left_halfscreen_button.png"] forState:UIControlStateNormal];
[button setTitle:@"Hello" forState:UIControlStateNormal];
[button setFrame:frameBtn];
NSLog(@"Title:%@", [button currentTitle]);
//prints "Title:Hello
[self addSubview:button];
J'ai une classe d'usine qui génère des boutons personnalisés pour moi et je pensais avoir gâché quelques détails là-haut. J'ai donc déplacé le code ci-dessus directement dans ma UIView
, le titre est toujours vide.
Est-ce un bug ou est-ce que je manque simplement quelque chose juste devant mes yeux?.
Merci pour les yeux supplémentaires :)
L'image annule le titre, vous devez faire de l'image une image d'arrière-plan pour afficher le titre.
[button setBackgroundImage: [UIImage imageNamed: @ "left_halfscreen_button.png"] forState: UIControlStateNormal];
Je viens d'avoir un problème assez similaire ... Il suffit de définir la couleur du titre, je suppose que l'actuel est blanc;)
[button setTitleColor: [UIColor blackColor] pourState: UIControlStateNormal];
Lorsque vous utilisez UIButton
, button utilise une taille intégrée pour son cadre.
Vous devriez définir le cadre:
button.frame = CGRectMake(0, 0, width, height);
ou même mieux et confortable:
[button sizeToFit];
J'ai eu un problème similaire que le titre n'a pas été montré. J'ai oublié de définir la propriété frame:
//set the position of the button
button.frame = CGRectMake(100, 170, 100, 30);