首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在UIScrollView中的UIWebView上启用放大功能?

如何在UIScrollView中的UIWebView上启用放大功能?
EN

Stack Overflow用户
提问于 2010-02-08 13:02:19
回答 4查看 75.8K关注 0票数 133

我在UIScrollView中有一个UIWebView (scrollview包含另一个组件)

我尝试在界面生成器编程UIWebView上启用多点触摸,但它仍然不能放大html,我是否需要在UIScrollViewUIWebView上同时处理放大?或者有什么我不需要设置的?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-05-30 04:46:11

要在UIWebView上工作,必须为任何收缩和缩放设置scalesPageToFit=YES

票数 349
EN

Stack Overflow用户

发布于 2011-06-23 13:34:44

好的,你需要做以上两件事,但也要做下面的事情。我在主视图中有一个web视图,但这不起作用。

  1. 如上所述,您首先需要在主视图中放置一个UIScrollView,然后将web视图放在滚动视图中。
  2. 如上所述,在视图控制器中实现<UIScrollViewDelegate>,在界面生成器中将滚动视图委托拖到视图控制器中,然后实现viewForZoomingInScrollView方法。这必须返回指向UIScrollView的指针(返回并创建web视图和滚动视图的属性-将它们链接到NIB中的视图控制器。在滚动视图上,转到属性检查器,设置最大和最小缩放因子(我将0.5设置为5.0,这很好用)。在Web视图上,在Attributes Inspector:
  3. In IBOutlet Web View部分,选择Scales Pages to Fit
  4. 在视图部分,选择for
  5. ,“左上角”
  6. 在底部的视图部分,选中启用用户交互和启用多点触控的
票数 12
EN

Stack Overflow用户

发布于 2011-09-12 05:51:55

使用JavaScript,你可以控制缩放级别,尽管我发现的oly解决方案看起来并不流畅。

假设你在<head>中有

代码语言:javascript
复制
<meta id="vp" name="viewport" content="width=768,initial-scale=1.0">

要缩放到4倍,但仍允许用户更改缩放,请更改内容两次:

代码语言:javascript
复制
var vp = document.getElementById('vp');
vp.content = "width=767,minimum-scale=4.0,maximum-scale=4.0,user-scalable=yes";
vp.content = "width=768,minimum-scale=0.25,maximum-scale=10.0,user-scalable=yes";

切换宽度是非常重要的-否则Mobile Safari会有严重的重绘错误(由于过度优化)。

您不能只是再次设置initial-scale -它将在第二次被忽略。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2219685

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档