禁用UIWebView的放大缩小功能

时间:2012-03-09 02:50:53

标签: ios uiwebview

我是iOS开发的新手,我正在开发一个将在UIWebView中显示和显示网页的应用程序。我想摆脱zoom-in的默认zoom-outwebview功能。

11 个答案:

答案 0 :(得分:24)

这是在Apple文档中:

@property(nonatomic) BOOL scalesPageToFit
Discussion
If YES, the webpage is scaled to fit and the user can zoom in and zoom out. If NO, user zooming is disabled. The default value is NO.

界面生成器方法:

  1. 确保在单击您的webview时,界面构建器右侧列中的“缩放页面以适合”复选框未选中。它位于顶部。

  2. 您还需要取消选中“多次触摸”大约一半的方框。这将禁用捏合缩放。

  3. 代码方法:

    您也可以使用以下代码以编程方式执行此操作:

    webView.scalesPageToFit = NO;
    

    您还想要添加:

    webView.multipleTouchEnabled = NO;
    

    这会禁用捏合和缩放功能,因为它会禁用在动作中使用多个手指的能力,显然捏合需要两个手指!

答案 1 :(得分:6)

将UIWebView属性scalesPageToFit设置为NO,将禁用用户缩放

myWebView.scalesPageToFit = NO;

答案 2 :(得分:5)

只需要做:

myWebView.scalesPageToFit = NO;

并禁用令人讨厌的捏缩放:

webView.multipleTouchEnabled = NO;

答案 3 :(得分:2)

UIScrollView *scrollView = [webView.subviews objectAtIndex:0];
scrollView.delegate = self;//self must be UIScrollViewDelegate

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
  return nil;
}

试试这个......它有效..

答案 4 :(得分:1)

从UIWebView继承时,您可以实现。 (适用于iOS 5,降低不确定)

- (UIView *) viewForZoomingInScrollView:(UIScrollView *) scrollView
{
    return nil;
}

答案 5 :(得分:1)

试试这个:

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
  return nil;
}

答案 6 :(得分:0)

要添加答案,这将有效:

webView.scrollView.multipleTouchEnabled = NO;

答案 7 :(得分:0)

我在使用webview滚动事件之后也很挣扎,之后我喜欢下面的代码来禁用webview中的滚动,这也删除了特定webview中的多点触控手势功能。

  

[[[theWebView subviews] lastObject] setScrollEnabled:NO];

这里的webView是我的UIWebView的名称.. 在webViewDidFinishLoad函数中使用此代码,,,它对我很有帮助,..

答案 8 :(得分:0)

快速解决方案

只需将上述值设置为false:webView.scalesPageToFit = false

答案 9 :(得分:0)

禁用bouncesscrollView的缩放将解决您的问题。试试看!

webView.scrollView.bouncesZoom = false

答案 10 :(得分:0)

对我来说,令人惊讶的是,理想的解决方案仅是在html方面。只需将其添加到<head>

<meta name="viewport" content="user-scalable=0" />

我不建议使用webView.scalesPageToFit = false,因为它会带来诸如将所有内容放大4倍的问题。我也没有使用initial-scale=1.0maximum-scale=1.0minmum-scale=1.0