我无法在任何地方找到解决此问题的方法。 我正在使用Xcode 4.5使用故事板编写iOS 6应用程序。它使用导航控制器在几个带有导航栏的视图控制器之间跳转,其中包括一些使用UIWebView显示网站的导航栏。我已经向AppDelegate和各种ViewController文件添加了代码,以便将应用程序中的大多数场景的视图限制为肖像(因为它们实际上看起来不会很好),但允许网站的横向视图。 Info.plist配置允许所有4个方向。
UIWebView场景中的一切正常;包括旋转,滚动和缩放 - 除了一件事:当我从纵向旋转到横向时,网站的水平尺寸保持锁定在纵向视图的水平尺寸 - 导致网站右侧的大空白区域场景(见下图)。我通过在Attributes Inspector中的View Controller下选择Layout:Wants Full Screen来修复UIWebView顶部的一个小(1/4“)空白区域。但是我无法解决这个问题。
如有必要,我可以提供相关代码或故事板设置。有人可以帮忙吗?谢谢。
答案 0 :(得分:0)
当解决方案加载到viewDidLoad方法时,我解决了添加此代码的问题:
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter]
addObserver:self selector:@selector(orientationChanged:)
name:UIDeviceOrientationDidChangeNotification
object:[UIDevice currentDevice]];
然后将其添加到视图控制器:
- (void) orientationChanged:(NSNotification *)note
{
UIDevice * device = note.object;
switch(device.orientation)
{
case UIDeviceOrientationPortrait:
_displayWeb.frame = CGRectMake (0, 0, 768, 1024);
break;
case UIDeviceOrientationPortraitUpsideDown:
_displayWeb.frame = CGRectMake (0, 0, 768, 1024);
break;
case UIDeviceOrientationLandscapeLeft:
_displayWeb.frame = CGRectMake (0, 0, 1024, 768);
break;
case UIDeviceOrientationLandscapeRight:
_displayWeb.frame = CGRectMake (0, 0, 1024, 768);
break;
default:
break;
};
}
_displayWeb是你的IBOutlet UIWebView,就像这是使用Xcode 4.6.1