UIWebview在模式视图中以纵向模式显示在风景模式下
我浏览了大部分问题并尝试了几乎所有内容。但糟糕的是,问题仍然存在。UIWebview在模式视图中以纵向模式显示在风景模式下
我有一个UIVIew
,它始终以横向模式启动,我将以全屏模式视图的形式呈现第二个视图(detailView
)。
detailview
顶部有一个UIwebview
。
当我将detailView
作为模式视图呈现时,webview将以纵向模式显示。
我回国在shouldAutoRotateToInterfaceOrientation
也 “YES
” 已设置autoresize
,autoresizingMask
和scalePageToFit
性能。
当我旋转设备,并且当detailView
在前面时,web视图安排正确地横向。
这个问题只有当我第一次提出modalView
时。
旋转设备正确调整布局。
OK:
例如,你可以在所以它在正确的方向
可以请你为此显示代码 - 我遇到了同样的问题,但是当涉及到javascript时没有任何线索 – iOSProgrammingIsFun
@iOSProgrammingIsFun你能否详细说明你的问题?我有时候做了这件事。我需要搜索我的代码。 –
好吧,我有一个viewcontroller一个呈现视图控制器B模式,并在全屏风格。 VC B内部是全屏uiwebview。该webview用于显示特定的网站 - 说维基百科。如果应用程序以纵向方式运行,则网页将被格式化为纵向,并缩放以适合网页视图 - 尽管scalestofit未在界面构建器中打勾。我想在移动Safari中打开相同的页面,页面的宽度超过了屏幕的宽度,更具可读性,它也可以缩放,因为VC B中的webview不能。此外,如果VC B旋转,页面就会混乱起来 – iOSProgrammingIsFun
如果您在iOS 6上运行的应用程序,你需要下面的代码在模态视图控制器,支持横向:
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskLandscape;
}
- (BOOL) shouldAutorotate {
return YES;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
return UIInterfaceOrientationLandscapeLeft;
}
此外,请确保您在实际设备上进行测试,而不是到模拟器,因为自动旋转在模拟器上的行为不同。
据我所知iPhone上的ModalViews不支持横向视图。 iPhone 5的情况可能会有所不同。
但它听起来像是在设置ModalView而不是WebView到风景,我建议采用不同的方法来处理这个问题。
CGAffineTransform transform = CGAffineTransformIdentity;
webView.transform = CGAffineTransformRotate(transform,-M_PI/2);
这将这样的伎俩开始动画的DetailView像ModalView。首先,我发布的问题并不清楚。我的问题是,当我以纵向方式加载webview时,它以横向模式(CSS)加载webview元素,并以横向模式加载为纵向模式(CSS)。
原来我没有应用正确的CSS样式。
我做的修复是: 在viewDidLoad中和willAnimateRotation方法,我张贴到我的javascript通知基于方向:)
更新的风格,我也试着设置在模式视图的viewWillAppear中的状态栏。,即,[[UIApplication sharedApplication] setStatusBarOrientation:self.interfaceOrientation] ...即使这不起作用 –
:试试这个 - 创建一个类UIViewController的自定义viewController(比如 - FirstViewController)。在这个VC中,支持两个方向(Port和Land)。然后创建SecondViewController,它将成为FirstViewController的子类,显然在这里你将创建具有横向模式的UIView,并且进一步完成与你一样的工作。 – Nayan
“景观”或“肖像”模式的终端与“UIViewController”相关,但与“UIView”不相关。那么你能澄清一下你在'UIWebView'的肖像模式下的含义。您使用哪种方法在'detailview'顶部显示'UIWebView'? – onegray