web-dev-qa-db-fra.com

iPhone Dev - Créer UIButton manuellement

J'apprends à développer sur l'iPhone, j'ai acheté un livre intitulé Beginning iPhone 3 development Exploring the SDK. Après avoir mordu, j'ai décidé d'abandonner Interface Builder. Je conçois toujours toutes mes vues dans IB, mais j'écris tout cela dans du code et n'utilise que le fichier nib pour obtenir les cadres des contrôles.

Alors maintenant, je dois faire un UIButton, et la documentation est différente des autres contrôles. J'ai essayé d'utiliser initWithFrame:, et theres cette autre méthode buttonWithType: que je suppose être libéré automatiquement, mais de toute façon je n'ai pas pu faire apparaître un bouton sur l'écran. Quelqu'un pourrait-il s'il vous plaît écrire un peu de code qui crée localement un bouton avec un titre que je peux changer que je peux ensuite ajouter à ma sous-vue de vues et libérer afin que je puisse voir comment cela se fait?

30
mk12

J'essaierais quelque chose comme ça:

    UIButton *myButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    myButton.frame = CGRectMake(20, 20, 200, 44); // position in the parent view and set the size of the button
    [myButton setTitle:@"Click Me!" forState:UIControlStateNormal];
    // add targets and actions
    [myButton addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
    // add to a view
    [superView addSubview:myButton];

Avertissement: Il suffit de taper ceci ici. Je n'ai pas accès à mon Mac pour le moment, je ne peux donc pas le tester.

P.S. Une raison particulière de ne pas utiliser Interface Builder? Juste curieux.

83
Thomas Müller