我只是想让WebView全屏而不能横向滚动。无论是纵向还是横向,我都希望这样。
我是iOS的新手,我不知道它是如何工作的我觉得故事板和xib与android的xmls相比非常混乱。当我打开src代码时,它是相当多的代码,我无法弄明白。
答案 0 :(得分:0)
让我说明一种方法。考虑这个未经测试的伪代码。
@implementation MyViewController
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)orientation
{
CGSize contentSize = self.webView.scrollView.contentSize;
switch (orientation) {
case UIInterfaceOrientationPortrait:
contentSize.width = 320.0;
self.webView.scrollView.contentSize = contentSize;
return YES;
case UIInterfaceOrientationLandscapeLeft:
case UIInterfaceOrientationLandscapeRight:
contentSize.height = 568.0;
self.webView.scrollView.contentSize = contentSize;
return YES;
}
return NO;
}
@end
这里的想法是当底层滚动视图的内容大小适合滚动should not be possible的屏幕尺寸时。此代码对方向更改(转动设备时)作出反应,并将边长调整为各自的屏幕尺寸。
此问题的一个问题是设备必须至少转动一次,并且在向两个方向转动手机后,contentSize
将锁定在{320, 568}
。要解决此问题,请考虑this SO。
答案 1 :(得分:0)
您可以在界面构建器中,勾选Web视图的“Scales Page To Fit”复选框,这将确保UIWebView通过缩小其大小来适应iPhone / iPad屏幕上的内容,从而基本上无需滚动水平。
或者您可以执行以下操作:由于UIWebView包含在UIScrollView中,因此您可以使用此SO链接中描述的方法禁用此UIScrollView的滚动:How to disable horizontal scrolling of UIScrollView? 您可以通过调用webview.scrollView
来访问WebView的scrollview