我正在尝试动画从屏幕上删除的UIWebview。我正在使用动画块将帧高度设置为0.工作正常,问题是Web视图的内容大小立即采用新的帧高度。因此内容消失,背景动画消失。我怎么能阻止这种情况发生?这是我的动画块。
// Change frame height.
[UIView animateWithDuration:1.0f
animations:^ {
// Animate the frame to the full height
self.frame = CGRectMake(self.frame.origin.x, self.frame.origin.y, self.frame.size.width, 0);
}
];
由于
答案 0 :(得分:1)
因此,如果您希望内容保持原样,您可能不得不“欺骗”此内容。
Apple会在许多转换中自行完成此操作 - 如果您在iOS模拟器上进入慢动画模式,或者在Mac OS上,您可以看到它是如何工作的。不幸的是,UIWebView的自定义范围非常有限......控制缩放的唯一属性是scalesToFit
值。
另一种方法是将UIWebView捕获为图像,用该图像替换webview(对用户来说这是无缝的),然后在图像本身上执行动画。由于您只是更改直线图像的框架,因此您不会遇到任何这些问题(您还可以更改动画效果:如果您对图像进行缩放以适应框架,则内容将被“挤压”,或者你可以把它裁剪掉。)