簡體   English   中英

UIView 過渡動畫期間的 UIView 子視圖剪輯

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

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