J'ai une vue dans mon application qui comporte un certain nombre de boutons basés sur le nombre d'éléments renvoyés par le serveur. Donc, si le serveur renvoie 10 éléments, il doit y avoir 10 boutons et cliquer sur chaque bouton doit appeler une personne différente.
Pour le but ci-dessus, j'ai créé une classe de boutons personnalisée dérivant d'Uibutton. P>
HopitalButton* hb = [[HopitalButton alloc] init]; hb.button_type = @"call"; hb.frame = CGRectMake(50, 50 + i * 67, 220, 40); [self.scroll_view addSubview:hb]; [hb setTitle:[[[self.office_full_list objectAtIndex:i] objectForKey:@"Staff" ]objectForKey:@"FullName"] forState:UIControlStateNormal]; hb.index = [NSNumber numberWithInt:[self.button_items count]]; [self.button_items insertObject:hb atIndex:[self.button_items count]]; [hb addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
4 Réponses :
Vous commencez par commencer par une image extensible avec une bordure:
texte alt http://grab.by/4lp p>
Ensuite, vous faites un bouton avec l'image étirée comme arrière-plan et appliquez du texte. p> évidemment, vous devrez régler l'origine et la taille du cadre pour correspondre. Votre application, ainsi que la cible, le sélecteur et le titre. Et p> p>
Mais l'index est important pour mon programme car j'utilise l'index pour savoir quel bouton a été enfoncé car il y a plus d'un bouton dans la vue.
Où avez-vous obtenu l'image de bouton rouge extensible?
Je pense que je l'ai attrapé un didacticiel quelque part il y a longtemps ... mais cela ne devrait pas être trop difficile à faire dans Photoshop
ne devriez-vous pas appeler initwithframe: rect code> au lieu de:
sampleButton.titleLabel.font = [UIFont boldSystemFontOfSize:20];
Vous pouvez utiliser une classe individuelle pour un bouton de retour sur mesure qui peut être utile dans un projet entier avec votre style de trame spécifique comme ci-dessous
For Simple custom button we can use as below -(UIBarButtonItem*)BackButton { UIButton*btn = [UIButton buttonWithType:UIButtonTypeCustom]; [btn setImage:[UIImage imageNamed:@"back.png"] forState:UIControlStateNormal]; [btn setFrame:CGRectMake(0, 0, 30, 30)]; [btn addTarget:self action:@selector(actionBack) forControlEvents:UIControlEventTouchUpInside]; UIBarButtonItem*barBtn = [[[UIBarButtonItem alloc] initWithCustomView:btn] autorelease]; return barBtn; }