I guess that MFMailComposeViewController
doesn't support upside down interface orientation that's why it could be interpreted as bug. But Apple recommends do not use upside down interface orientation for iPhone apps. The main reason of it could be explained by such example:
- User opens application and rotate iPhone to upside down orientation.
- At this moment somebody calls him by phone.
- User tries to answer the calls and forgets to rotate phone to default portrait orientation.
- As result iPhone's microphone is near user's ear and speaker near mouth.
It isn't user-friendly experience.
I would have thought on your site to use upside down orientation or not.
However if using of upside down interface orientation is required condition then you make such trick:
Create category to MFMailComposeViewController
and override method supportedInterfaceOrientations
to allow support of necessary orientations and import it to class were MFMailComposeViewController
is created:
// MFMailComposeViewController+Orientation.h file
#import <MessageUI/MessageUI.h>
@interface MFMailComposeViewController (Orientation)
@end
// MFMailComposeViewController+Orientation.m file
#import "MFMailComposeViewController+Orientation.h"
@implementation MFMailComposeViewController (Orientation)
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskPortraitUpsideDown;
}
@end
Notice: I am not sure that this trick would be passed throw Apple application approving center cause of overriding existed methods in category.