2009-09-14 5 views
1

J'utilise une action contextuelle standard dans mon application iPhone (la fenêtre contextuelle en bas de l'écran). Cela a 2 boutons "ok" et "annuler". Il semble que le schéma de couleurs standard soit d'avoir le bouton du haut rouge. Je veux changer cela pour que le bouton du haut soit vert. J'ai été googling pour toujours et ne peux pas trouver la solution. Toutes les idées seraient géniales. MerciModifier la couleur d'un bouton dans une action contextuelle standard

Répondre

1

Vous pouvez parcourir ActionSheet (je suppose que vous utilisez la classe UIActionSheet) subviews - comme ça:

NSArray* subViews = [aSheet subviews]; 
for (UIView* sView in subViews) 
{ 
    ... 
} 

et modifier les propriétés de subviews là comme vous le souhaitez.

Vous pouvez également créer UIActionSheet sans boutons à tous:

UIActionSheet* aSheet = [[UIActionSheet alloc] initWithTitle:@"\n\n\n" delegate:self cancelButtonTitle:nil destructiveButtonTitle:nil otherButtonTitles:nil]; 

Et ensuite créer vos propres boutons personnalisés et les ajouter à la vue ActionSheet. (mettre plus de \ n au titre pour agrandir la hauteur de la feuille)

1

Je suppose que vous faites référence à une feuille UIAction. Dans une feuille UIAction, vous pouvez définir un bouton qui annule l'action et qui a un fond noir, un bouton qui marque une action destructrice et qui a un arrière-plan rouge, et tous les autres boutons qui ont des arrière-plans blancs. Quelle option correspond à quelle classe d'actions peut être spécifiée dans l'initialisation de la feuille UIAction en utilisant – initWithTitle:delegate:cancelButtonTitle:destructiveButtonTitle:otherButtonTitles:.

La conception d'une feuille UIAction, y compris pourquoi vous ne devriez utiliser ces couleurs que pour vos boutons, est expliquée dans le iPhone Human Interface Guidelines. Je suivrais les suggestions d'Apple à cet égard, car elles rendront votre application plus facile à utiliser.

1
UIActionSheet *action = [[UIActionSheet alloc] initWithTitle:@"" 
          delegate:self 
          cancelButtonTitle:@"Cancel" 
          destructiveButtonTitle:nil,@"Mail",@"Facebook",@"Twitter",nil 
          otherButtonTitles:nil]; 
NSArray *buttons = [action subviews]; 
Questions connexes