UIWebView接管屏幕旋转
问题描述:
我使用UIWebView和UIViewController创建横幅。在控制器中,我将shouldAutorotateToInterfaceOrientation设置为始终返回YES。在loadView中,我创建了我的UIWebView并使用CGRectMake给它一个小横幅框架。当它被添加到屏幕时,一切都有效。屏幕旋转时出现问题。 UIWebView现在接管整个屏幕。如果我使用NSLog输出其框架,我可以看到它被旋转占据整个屏幕而被覆盖。任何想法如何让它停止这样做?我觉得我错过了一些根本性的东西,但我无法弄清楚什么是错的。UIWebView接管屏幕旋转
答
如果您加载的UIWebView,在旋转你应该的UIWebView的宽度设置为480和多数民众将在声明加载页面的JavaScript函数来完成,然后在委托
- (void) willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration{
if ((toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft) ||
(toInterfaceOrientation == UIInterfaceOrientationLandscapeRight))
{
[webView stringByEvaluatingJavaScriptFromString:@"makeWidth(480)"];
}else{
[webView stringByEvaluatingJavaScriptFromString:@"makeWidth(320)"];
}
注makeWidth( 480)是您加载的页面中的JavaScript函数,您应该在您的webview中声明该函数并从xcode调用它。
谢谢!我会尝试尽快对此进行测试。截止日期即将到来,所以可能需要一点点: - / – Aaron 2011-07-12 19:00:48