[英]How to fill the background image in a UIView without streching it
我試圖設置動畫形式的.gif來設置UIView的背景圖像,這是我從Giphy中提取的。
我遇到的問題是UIView正在拉伸圖像。 我想填充背景,使高度為100%,並使其居中。 因此,.gif的左右將被切除-但圖像將在屏幕上居中而不被拉伸。
這是現在的屏幕截圖。
您可以看到它的填充高度正確,但是它正在縮小圖像的寬度以匹配UIView尺寸,從而使其看起來很拉伸。
這是我現在擁有的代碼:
override func viewDidAppear(animated: Bool) {
self.giphyBackground(Title: "dancing") { [weak self] (gifUrl) -> Void in
let gifView = FLAnimatedImageView(frame: self!.giphy.frame)
gifView.animatedImage = FLAnimatedImage(animatedGIFData: NSData(contentsOfURL: NSURL(string: gifUrl)!)!)
self?.view.insertSubview(gifView, aboveSubview: self!.giphy)
}
}
有任何想法嗎
我認為您應該將gifView
的內容模式設置為Aspect Fit
,這樣將不會拉伸圖像,並且將在水平/垂直方向上完全填充至少一個長度。
嘗試設定
gifView.contentMode = UIViewContentMode.ScaleAspectFit
您也可以使用scale
AspectFill
上gifView
為
gifView.contentMode = UIViewContentMode.ScaleAspectFill
ScaleAspectFill
將填滿整個gifView的框架,但也將保持縱橫比,這樣做不會使圖像看起來被拉伸,但是水平或垂直的內容可能會超出框架(您可以對其進行裁剪)。
您肯定是在尋找視圖的contentMode ScaleAspectFit
。 只需添加一行gifView.contentMode=UIViewContentMode.ScaleAspectFit
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.