【问题标题】:UIWebview re-enables scrolling even after scrollEnabled is set to NO即使在 scrollEnabled 设置为 NO 后,UIWebview 也会重新启用滚动
【发布时间】:2013-05-08 07:04:36
【问题描述】:

这是一个问题。我在 UIWebview 中使用可拖动的图像。源码:这里:http://ios-blog.co.uk/tutorials/rich-text-editing-a-simple-start-part-7/

它只是在拖动过程中禁用滚动,并在拖动完成时重新启用它。

当 UIWebview 首次启动时,它工作得非常好。只要编辑的文本长度比屏幕长。 UIWebview 忽略其滚动视图的滚动设置并重新启用滚动。

我禁用滚动视图的方式是使用这个:

    webview.scrollview.scrollEnabled = NO;

请告诉我哪里错了。非常感谢。

【问题讨论】:

    标签: iphone ios objective-c


    【解决方案1】:

    这个问题是因为在我作为模板编辑部分加载的 html 文件中放置了以下包装。

    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=no;"/>
    <style type="text/css">
    html, body {height: 100%;}
    body {
    margin: 0;
    }
    #wrap {
    height: 100%;
    width: 100%;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    }
    #content 
    padding: 10px;
    }
    </style>
    

    用这个块包裹的任何 div 将始终允许自己滚动。 删除它,结果又恢复正常了!

    【讨论】:

      【解决方案2】:

      可以使用

      for(UIView *aView in webview.subviews){
          if([aView isKindOfClass:[UIScrollView class]])
                      aView.scrollEnabled = NO;
      }
      

      这可确保禁用任何 scrollview 的滚动。

      【讨论】:

      • 我已经解决了这个问题。这是因为在我的模板文件中进行了富文本编辑。我为 div 设置了溢出包装。这基本上是一个包装,使滚动视图始终允许滚动。如果你想看代码块。你可以问我。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-26
      • 1970-01-01
      • 2011-01-21
      • 1970-01-01
      • 2016-02-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多