Ios 使用页面内容缩放UIWebview并使用它进行缩放

Ios 使用页面内容缩放UIWebview并使用它进行缩放,ios,objective-c,uiwebview,cgaffinetransform,Ios,Objective C,Uiwebview,Cgaffinetransform,我试图模仿移动safari应用程序的标签系统。进入选项卡模式时,页面似乎正在缩小。在我的应用程序中,我尝试了3种不同的方法来达到这个效果 1) 捕获UIWebView的图像,隐藏web视图并缩放图像。 2) 缩放UIWebView 3) 将转换应用于web视图 第一种方法是最好的方法之一,除非我旋转屏幕,否则图像看起来很怪,因为它会扩展图像,或者缩小图像 第二种方法不起作用,web视图确实是skink,但它基本上只是放大web视图的内容,因此,如果你在google.com上,它会放大google

我试图模仿移动safari应用程序的标签系统。进入选项卡模式时,页面似乎正在缩小。在我的应用程序中,我尝试了3种不同的方法来达到这个效果

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

第一种方法是最好的方法之一,除非我旋转屏幕,否则图像看起来很怪,因为它会扩展图像,或者缩小图像

第二种方法不起作用,web视图确实是skink,但它基本上只是放大web视图的内容,因此,如果你在google.com上,它会放大google徽标或页面上的某个地方,而不是保持不放大时的外观,并缩小它

第三种方法也有效!除了使用变换,我看不到控制web视图的x、y、宽度和高度的方法。我可以添加平移或缩放,但如果使用旋转,效果就不太好

iphone5im上网页视图的纵向尺寸(6491.5192315)和横向尺寸(1136534161)。如何修复此问题以使其正确缩放


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

但是,当您旋转设备时,您需要调整视图本身,因为您实际需要的是web视图重新播放内容


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

我应用了变换
CGAffineTransform position=CGAffineTransformMakeTranslation(0,-30);CGAffineTransform scale=CGAffineTransformMakeScale(0.6,0.7);self.webViewObject.transform=CGAffineTransformConcat(位置、比例)这看起来不错,当旋转时,如果我什么都不做,那么它的肖像大小仍然在缩小。如果我将帧设置为正常大小,它会变大,即使之后再次应用变换也是如此。如果我将该帧应用于缩小的帧,它会工作,除非在放大时,那么它不在同一帧上。