我认为这是一个简单的问题。我有UIButton
这是一张图片 - 也就是说,我已将UIImage
放在按钮的imageView
属性中。
现在它看起来像这样:
我想要给心脏一个黑色的边框,或者用一个黑色或深灰色圆圈的UIView
包围心脏。
我已尝试在borderColor
的基础图层上设置borderWidth
和imageView
,但其绘制的边框位于"框"视图,所以它看起来很丑陋。
是否有一种简单/简单的方法可以为我的图像添加边框,或者可以在按钮上添加子视图以便显示一个封闭的圆圈?
有一点可能需要注意:心脏开始呈白色,然后当有人触摸它时,它会变成红色。我用它来实现一个"收藏夹"特征。我切换颜色的方式是使用以下代码:
func setFavoriteState(_ isFavorite: Bool) {
let favoriteColor : UIColor = isFavorite ? .red : .white
favoriteButton.imageView?.tintColor = favoriteColor
}
答案 0 :(得分:1)
这样做的最佳方法是拥有两个单独的图像,一个用于喜欢的状态,另一个用于不喜欢的状态。然后,您可以检查UIButton的当前图像,然后在点击后将其更改为另一个图像,如下例所示:
@IBAction func buttonTapped(_ sender: Any) {
if (yourButton.currentImage?.isEqual(UIImage(named: "favorite_icon")))! {
yourButton.setImage(UIImage(named: "unfavorite_icon"), for: .normal)
} else {
yourButton.setImage(UIImage(named: "favorite_icon"), for: .normal)
}
}