web-dev-qa-db-fra.com

iPhone/iPad UIButton TitleLe texte du label n'apparaît pas

J'ai créé une grille de boutons. Le code suivant crée les boutons et les affiche, mais il ne contient aucun texte. Y a-t-il un paramètre qui me manque? (Les réponses d'Obj-C sont bonnes, je suis bilingue)

RectangleF frame = new RectangleF (X + 3, Y + 3, cellWidth - 2, cellHeight - 2);
UIButton button = new UIButton (frame);
button.TitleLabel.Text = "Baha'i";
button.TitleLabel.Font = UIFont.FromName ("Helvetica-Bold", 15);
button.TitleLabel.TextColor = UIColor.Black;
button.TitleLabel.Frame = frame;
button.BackgroundColor = UIColor.FromWhiteAlpha(.5f,.5f);
this.AddSubview (button);
34

Je pense que tu veux setTitle: forState:

[button setTitle:@"Baha'i" forState:UIControlStateNormal]
129
Tobias Cohen

Un UIButton hérite de UIView, une autre façon d’ajouter du texte et des images consiste donc à ajouter une sous-vue. Exemple:

// My Image
UIImage *buttonImage = [UIImage imageNamed:@"myImage.png"];
UIImageView *buttonImageView = [[[UIImageView alloc] 
    initWithFrame:CGRectMake(0, 0, 
    buttonImage.size.width,buttonImage.size.height)] autorelease];
[buttonImageView setImage:buttonImage];

// My Label
UILabel* titleLabel = [[[UILabel alloc] 
    initWithFrame:CGRectMake(0, 0, 
    buttonImage.size.width, buttonImage.size.height)] autorelease];
titleLabel.text = @"My Text";
titleLabel.font = [UIFont fontWithName:@"Helvetica-Bold" size: 11.0];
titleLabel.textColor = [UIColor blackColor];
titleLabel.backgroundColor = [UIColor clearColor];
titleLabel.textAlignment = UITextAlignmentCenter;

// Create Button with Image and Label
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button addSubview:buttonImageView];
[button addSubview:titleLabel];
6
ddiego
UIButton *  selectCountryBtn =  [[UIButton alloc]initWithFrame:CGRectMake(0, 0, 100, 100)];  

[selectCountryBtn setTitle:@"My Title" forState:UIControlStateNormal];

Ici, j'ai créé un exemple de bouton par programme, puis j'ai défini le titre pour son état de contrôle normal. Vous pouvez utiliser votre propre objet bouton pour définir la chaîne de titre. Vous pouvez également définir le texte du titre pour un autre état de contrôle en modifiant UIControlStateNormal en un autre obligatoire. États.

3
Faizan Refai

Pour les développeurs Swift-

button.setTitle("Your button Name", forState: .Normal)
0
iDeveloper

Dans mon cas (Swift 4), c'était le suivant:

btnLogin.setTitle("Welcome, " + var_name, for: [])
0
Will Buffington