MFMailComposeViewController has a white cancel button on white background

Originator:stanton
Number:rdar://16331052 Date Originated:2014-03-14
Status:Duplicate of 15246447 (Closed) Resolved:2014-04-07
Product:iOS SDK Product Version:7.1
Classification: Reproducible:yes
 
When I present an MFMailComposeViewController, sometimes the tintColor of the cancel button in the top bar ends up being white on white (really white on very light grey).  This is very confusing to the user.  If I hit the invisible cancel button, it operates normally, so the button is there, just styled incorrectly.  My application does use a nav bar with custom tintColor, barTintColor, and bar style.

Steps to Reproduce:
I haven't been able to find a reproducible test case for this, but it seems to happen only the first time the composer is displayed, presumably when the composer background process is just started.  Subsequent accesses after updating the application's nav bar colors seem to work normally in all cases.  I have seen this behavior on both the Xcode 5.0 simulator and a physical iPhone 5s.

Expected Results:
A blue 'cancel' button on light grey top bar.

Actual Results:
A white 'cancel' button on light grey top bar.

Version:
7.0.6  11b651

Configuration:
IOS7.0.6, iPhone 5s

Comments

Response from Apple

Engineering has provided the following feedback regarding this issue:

This is expected behavior because the MFMailComposeViewController is not presented in the app's window. You are on the right track by directly setting the tintColor of the navigation bar. You may prefer to set the tintColor of the MFMailComposeViewController's view, which will have larger scope.


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!