gpt4 book ai didi

ios - 如何在不拉伸(stretch)的情况下在 UIView 中填充背景图像

转载 作者:行者123 更新时间:2023-11-28 10:23:48 26 4
gpt4 key购买 nike

我正在尝试使用我从 Giphy 中提取的动画 .gif 设置 UIView 的背景图像。

我遇到的问题是 UIView 正在拉伸(stretch)图像。我想填充背景,使高度为 100% 并居中。所以 .gif 的左侧和右侧将被切断 - 但图像将在屏幕上居中并且不会拉伸(stretch)。

Here's现在的截图。

您可以看到它的填充高度是正确的,但它缩小了图像的宽度以匹配 UIView 尺寸,使其看起来被拉伸(stretch)了。

这是我现在的代码:

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,这样做不会拉伸(stretch)图像并且至少会完全填充其中一个长度水平/垂直。

尝试设置

gifView.contentMode = UIViewContentMode.ScaleAspectFit

您还可以在 gifView 上使用 scale AspectFill 作为

gifView.contentMode = UIViewContentMode.ScaleAspectFill

ScaleAspectFill 将填充整个 gifView 的框架,但也会保持纵横比,这样做你的图像不会看起来被拉伸(stretch),但水平或垂直的内容可能会超出框架(你可以剪辑)。

关于ios - 如何在不拉伸(stretch)的情况下在 UIView 中填充背景图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30449834/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com