[英]Resizing UIView with UIScrollView subview
我有一個關於使用UIScrollView
作為子視圖調整派生UIView
大小的大問題。
在layoutSubviews
消息中,我設置了 UIScrollView 子視圖的框架。 UIScrollView
包含一個帶有大圖像的UIImageView
,可以移動/捏合等等。 UIScrollView
的初始contenSize
是初始圖像大小。
到現在為止還挺好。 圖像的移動和捏合效果很好。 現在我必須更改 UIView 框架(在我的應用程序中最大化 UIView)。 我在動畫塊( beginAnimations
/ commitAnimations
)中這樣做。 因此,我設置了新框架(將更新寬度和高度),然后調用[myView layoutIfNeeded]
強制 UIScrollView 在我的視圖的layoutSubviews
消息中更新其框架。
UIView
對其新框架進行動畫處理,如果UIScrollView
的contentOffset
當前為x 0, y 0
則UIScrollView
框架將正確更新。 但這是我的問題:如果UIScrollView
的contentOffset
大於x 0, y 0
UIScrollView
將從左上角“滑入”到其最終位置。
我希望 UIScrollView 使用父框架正確調整其框架的大小,並將內容(在我的情況下為UIImageView
)對齊。 但我怎么能做到這一點呢?
經過數小時的網絡研究,我找到了解決此問題的方法:
[UIView setAnimationBeginsFromCurrentState: YES];
這將從當前狀態為所有圖層設置動畫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.