如何在 Swift 中使用 UIImageView 设置背景图像
Posted
技术标签:
【中文标题】如何在 Swift 中使用 UIImageView 设置背景图像【英文标题】:How To Set Background Image with UIImageView in Swift 【发布时间】:2015-12-08 18:25:13 【问题描述】:我有一个从这个 github repo ZLSwipeableView 引导的 tinder 克隆。
我想用我的 xcasset 中的图像替换默认背景颜色。到目前为止,我已经能够制作图案图像,但这并不好,我需要以某种方式使用 UIImageView 来创建背景图像。这是我目前所拥有的:
let cardView = CardView(frame: swipeableView.bounds)
if let image = UIImage(named: "Image")
cardView.backgroundColor = UIColor(patternImage: image)
else
print("There was no such image.")
然后是 CardView 类
class CardView: UIView
override init(frame: CGRect)
super.init(frame: frame)
setup()
required init?(coder aDecoder: NSCoder)
super.init(coder: aDecoder)
setup()
func setup()
// Shadow
layer.shadowColor = UIColor.blackColor().CGColor
layer.shadowOpacity = 0.25
layer.shadowOffset = CGSizeMake(0, 1.5)
layer.shadowRadius = 4.0
layer.shouldRasterize = true
layer.rasterizationScale = UIScreen.mainScreen().scale
// Corner Radius
layer.cornerRadius = 10.0;
显然,每个卡片“框架”都设置为使用UIColor
类处理颜色。如何将此 CardView 框架转换为 UIImageView
对象,以便我可以设置 backgroundImage?
【问题讨论】:
【参考方案1】:尝试将 UIImageView 作为子视图添加到 CardView
var image:UIImage = UIImage(named: "Image.png")
var labelBackground = UIImageView(frame: CGRectMake(<#CGFloat x#>, <#CGFloat y#>, <#CGFloat width#>, <#CGFloat height#>))
labelBackground = image
cardView.addSubview(labelBackground)
【讨论】:
这是斯威夫特?我收到了一些错误、预期的逗号等。 抱歉,objective-c 现在用 swift 代码更新了,虽然不是 swift 专家 我不知道在哪里添加这段代码。在 CardView 类中?或者在控制器中 在创建 CardView 类对象后在控制器中。 第二行错误:'ZLSwipeableViewController' 类型的值没有成员'bounds'。我认为框架已经在 CardView 类中声明了。以上是关于如何在 Swift 中使用 UIImageView 设置背景图像的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Swift 中使用 UISlider 更改 UIImageView 中的图像
如何在 Swift 中使用色调和一些文本向 UIImageView 添加叠加层?
如何在swift中使用带有completionHandler的UIImageView load()函数