[英]Changing UIWebView frame without changing content size
我正在嘗試為從屏幕上移除的 UIWebview 設置動畫。 我正在使用 animation 塊將幀高度設置為 0。這很好,問題是 web 視圖的內容大小立即采用新的幀高度。 所以內容消失了,背景動畫關閉了。 我怎樣才能阻止這種情況發生? 這是我的 animation 塊。
// 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);
}
];
謝謝
因此,如果您希望內容保留在原處,您可能不得不“欺騙”它。
Apple 在許多轉換中自己執行此操作 - 如果您在 iOS 模擬器或 Mac OS 上將 go 進入慢速 animation 模式,您可以看到它是如何工作的。 不幸的是,UIWebView 在 scope 中的定制非常有限……控制縮放的唯一屬性是scalesToFit
值。
另一種方法是將 UIWebView 捕獲為圖像,用該圖像替換 webview(對用戶來說這是無縫的),然后在圖像本身上執行 animation。 由於您只是更改直接圖像的框架,因此您不會遇到任何這些問題(您還可以更改 animation 效果:如果您的圖像縮放以適合框架,則內容將被“壓縮”,或者你可以把它剪掉)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.