2011-08-26 19 views
12

En mi aplicación, estoy usando MFMailComposeViewController. He colocado un botón back y Done en la barra de título. Tengo la barra de título en color negro, pero tengo el botón de fondo en color azul. Cómo cambiar el color de fondo del botón a black en color?Cómo cambiar los botones en MFMailComposeViewController?

Respuesta

17

Primero hay que cambiar el estilo de botón: barButton.style = UIBarButtonItemStyleBordered;

Posteriormente, el color de los botones de la barra de navegación se puede cambiar con el siguiente código:

[[mailComposer navigationBar] setTintColor:[UIColor blackColor]]; 
4

Seguí esto para añadir botones personalizados que sustituye a la norma cancelar y enviar botones:

// Fetch the UINavigationItem object of the nav bar 
UINavigationItem *mailVCNavItem = [mailVC.navigationBar.items objectAtIndex:0]; 

// Get the old bar button item to fetch the action and target. 
UIBarButtonItem *oldCancelBarButton = [mailVCNavItem leftBarButtonItem]; 

// Create your new custom bar button item. 
// In my case I have UIButton with image set as a custom view within a bar button item. 
UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
[backButton setImage:[UIImage imageNamed:@"backButton.png"] forState:UIControlStateNormal]; 
[backButton addTarget:oldCancelBarButton.target action:oldCancelBarButton.action forControlEvents:UIControlEventTouchUpInside]; 
backButton.bounds = CGRectMake(0.0, 0.0, 40.0, 25.0); 
[[barButtonItems objectAtIndex:0] setLeftBarButtonItem:[[UIBarButtonItem alloc] initWithCustomView:backButton]]; 

Desafortunadamente yo qui no puede reemplazar el botón Enviar.

Simplemente inutiliza el botón.

+0

no funciona para mí en iOS7 pero parece sensato código. – quantumpotato

1

para SWIFT (estoy usando Swift 1,2)

var mc: MFMailComposeViewController = MFMailComposeViewController() 
mc.mailComposeDelegate = self 
mc.setSubject(emailTitle) 
mc.setToRecipients(toRecipients) 
mc.navigationBar.tintColor = UIColor.blackColor() 
+0

¡Funciona a la perfección! ¡Gracias! – Lachtan

Cuestiones relacionadas