[英]UIView subview clips during UIView transition animation
我創建了一個 UIView 子類,其中包含一個 UIImageView 子視圖。 UIIMageView 子視圖通常可能位於其超視圖(我的 UIView 子類)的邊界之外。 這不是問題,因為我的子視圖沒有“clipsToBounds”,所以不會發生剪輯。 直到我的子視圖執行過渡動畫。
[UIView transitionWithView:self
duration:0.7
options:UIViewAnimationOptionTransitionFlipFromLeft | UIViewAnimationOptionAllowAnimatedContent
animations:^{
self.bodyView.transform = CGAffineTransformMakeScale(-1.0, 1.0);
}
completion:^(BOOL fin){
}];
在這個例子中,'bodyView' 是我的 UIView 子類的 UIImageView 子視圖。 在過渡時 bodyView 剪輯。 我曾嘗試將超級視圖層的“masksToBounds”屬性設置為“NO”,但這並沒有解決問題。
我目前唯一的解決方法是讓父視圖比子視圖大得多,並且不允許子視圖的框架存在於父視圖的邊界之外,但這在我的應用程序中不實用。
我已經解決了。 恐怕這是我自己造成的問題。 我在transitionWithView:duration:options:animations:
-method 中引用了錯誤的視圖。 我應該引用動畫的視圖,即子視圖。 代碼現在無需剪輯即可工作,如下所示:
[UIView transitionWithView:self.bodyView
duration:0.7
options:UIViewAnimationOptionTransitionFlipFromLeft | UIViewAnimationOptionAllowAnimatedContent
animations:^{
self.bodyView.transform = CGAffineTransformMakeScale(-1.0, 1.0);
}
completion:^(BOOL fin){
}];
嘗試這個:
imgView.contentMode = UIViewContentModeScaleAspectFit;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.