0

我正在尝试模仿移动 Safari 应用程序的标签系统。当您进入选项卡模式时,页面看起来正在缩小。在我的应用程序中,我尝试了 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)。如何解决此问题以使其正确扩展?

在此处输入图像描述

4

1 回答 1

0

转换方法可能是最好的;当您将变换应用于图层(包括通过视图间接)时,您会指示 GPU 在合成时执行一些特殊操作。因此,您可以自由地做任何您想做的事情,而无需考虑如何将事物放入特定空间产生任何影响的视图逻辑。由于都是合成效果,视图的原始像素渲染是不变的。

但是,当您旋转设备时,您想要调整视图本身,因为您真正想要的是让 Web 视图重新布局内容。

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

于 2013-01-20T20:57:11.947 回答