簡體   English   中英

快速3淡入圖像,而不是UIImage層

[英]swift 3 fade image, not UIImage layer

我想知道是否可以在不對UIImageView圖層進行動畫處理的情況下對UIImageView內部的視圖進行動畫處理。 我希望邊框不設置動畫,並且圖像要裁剪到邊框,但要根據需要淡入和淡出圖像。

我像這樣動畫:

func animateStart() {
    UIView.animate(withDuration: 3, animations: {
        self.firstImg.image = UIImage(named:"peter.JPG")
        self.firstImg.alpha = 1
    }, completion: { finished in
        if finished {
            self.animateSecond()
        }
    })
}

設置邊界,例如:

class RoundedImage: UIImageView {

  override func awakeFromNib() {
    self.layer.borderWidth = 5
    self.layer.borderColor = UIColor.darkGray.cgColor
    self.layer.cornerRadius = 15
    self.clipsToBounds = true
  }

不要在圖像視圖上做邊框。

將邊框放在UIView上,然后向其添加圖像視圖。

現在,當您為圖像視圖設置動畫並使其淡出時。 它在內部的視圖將保留。

最好使用UIView(作為imageView的容器)並將其放入其中。將所需的動畫制作到該imageView中(淡入淡出)。

然后您將獲得imageView框架(實際上不是,后面是UIView用作imageView的容器)

淡出之前:

在此處輸入圖片說明

淡入淡出之后

在此處輸入圖片說明

視圖層次結構:

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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