使用它缩放UIWebview以及页面缩放的内容

时间:2013-01-20 20:26:57

标签: ios objective-c uiwebview cgaffinetransform

我正在尝试模仿移动野生动物园应用程序的标签系统。当您进入选项卡模式时,它看起来像页面正在缩小。在我的应用程序中,我尝试了3种不同的方法来实现这种效果。

1)捕获UIWebView的图像,隐藏Web视图并缩放图像。 2)缩放UIWebView 3)将变换应用于Web视图。

第一种方式是最好的方式之一,除非我旋转屏幕,图像看起来很时髦,因为它会扩展图像,或缩小图像。

第二种方法不起作用,网页视图会跳过,但它基本上只是放大网页视图内容,所以如果您在google.com上,它会放大到谷歌徽标或页面上的某个位置,而不是在不缩放时保持它的外观,并缩小它。

第三种方式也有效!除了使用变换之外,我没有看到控制Web视图的x,y,宽度和高度的方法。我可以添加翻译或缩放它,但是通过旋转,它不能很好地工作。

用于iPhone 5上的Web视图的纵向大小,我试图制作它(64,91.5,192,315)和横向CGRectMake(113,65,341,161)。如何解决这个问题以使其缩放?

enter image description here

1 个答案:

答案 0 :(得分:0)

转型方法可能是最好的;当您将变换应用于图层(包括间接通过视图)时,您会指示GPU在合成时执行一些特殊操作。所以你可以自由地做任何你想做的事情,而没有关于如何将东西放入具有任何效果的特定空间的视图逻辑。由于它都是合成效果,因此视图的原始像素渲染不会改变。

但是,当你旋转设备时,你想调整视图本身,因为你真正想要的是网页视图重新传输内容。

如果你只是在模拟Safari,那么使用视图的frame来设置正常的全屏布局;当您想要显示缩小视图时,还应用缩放变换并创建合适的分页滚动视图以在页面之间滑动。如果设备旋转,则应该影响frame和滚动视图,但不影响转换。