这适用于 IOS 6。这些委托方法仅在 IOS 6 中受支持。我得到了自己问题的答案。我的应用程序仅针对横向模式开发。所以 imagePickerView 无法展示自己,因为它的默认方向是横向。所以我让我的应用程序支持横向和纵向模式。在应用程序委托中,我使用了该方法,
-(NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
return UIInterfaceOrientationMaskAll;
else /* iphone */
return UIInterfaceOrientationMaskAllButUpsideDown;
}
在 rootViewController 中,我使用以下委托强制 viewController 处于横向模式并保持横向模式。
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
if(interfaceOrientation == UIInterfaceOrientationLandscapeRight)
return YES;
else
return NO;
}
- (BOOL)shouldAutorotate
{
return YES;
}
-(NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskLandscapeRight;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return UIInterfaceOrientationLandscapeRight;
}
它奏效了。