簡體   English   中英

更改 UIWebView 框架而不更改內容大小

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM