Comment personnaliser l'UIToolbar avec des buttons contenant des images en couleur?

J'ai deux questions à propos de l'UIToolbar:

1: J'ai lu de nombreuses réponses de Stackoverflow sur la façon d'utiliser les buttons avec des images personnalisées (colorées) dans un UIToolbar. J'ai essayé de placer une vue (hack) sur le dessus de l'UIToolbar et de mettre les buttons avec les images, mais j'ai échoué. En ce moment je suis coincé. Comment pouvez-vous accomplir cela?

2: Y at-il un moyen d'avoir plusieurs buttons en état "pressé" simultanément? La fonction que je veux accomplir est différente avec différents types de sorting.

Ok, la réponse s'est résolue … le voici:

Puis-je avoir un UIBarButtonItem avec une image colorée?

-(void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; toolbar = [[UIToolbar alloc] init]; toolbar.barStyle = UIBarStyleDefault; //Set the toolbar to fit the width of the app. [toolbar sizeToFit]; //Calculate the height of the toolbar CGFloat toolbarHeight = [toolbar frame].size.height; //Get the bounds of the parent view CGRect rootViewBounds = self.parentViewController.view.bounds; //Get the height of the parent view. CGFloat rootViewHeight = CGRectGetHeight(rootViewBounds); //Get the width of the parent view, CGFloat rootViewWidth = CGRectGetWidth(rootViewBounds); //Create a rectangle for the toolbar CGRect rectArea = CGRectMake(0, rootViewHeight - toolbarHeight, rootViewWidth, toolbarHeight); //Reposition and resize the receiver [toolbar setFrame:rectArea]; //Create a button UIImage *image = [UIImage imageNamed:@"colorImage.png"]; UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; button.bounds = CGRectMake( 0, 0, image.size.width, image.size.height ); [button setImage:image forState:UIControlStateNormal]; [button addTarget:self action:@selector(myAction) forControlEvents:UIControlEventTouchUpInside]; UIBarButtonItem *barButtonItem = [[UIBarButtonItem alloc] initWithCustomView:button]; [toolbar setItems:[NSArray arrayWithObjects:barButtonItem,nil]]; //Add the toolbar as a subview to the navigation controller. [self.navigationController.view addSubview:toolbar]; } -(void)myAction{ NSLog(@"jippiii"); } 

Je connais la réponse de votre 2ème condition.

dans l'IB, click la vue et, dans l'inspecteur, vérifiez l'activation tactile multiple.

À votre santé