Ios 在我的UIButton中添加一个封闭圆
我有一个我认为很简单的问题。我有一个Ios 在我的UIButton中添加一个封闭圆,ios,uibutton,uikit,Ios,Uibutton,Uikit,我有一个我认为很简单的问题。我有一个ui按钮它是一个图像-也就是说,我在按钮的imageView属性中放置了一个ui图像 现在看起来是这样的: 我想给心脏一个黑色的边框,或者用一个封闭的UIView来包围心脏,这是一个黑色或深灰色的圆圈 我曾尝试在imageView的底层设置borderColor和borderWidth,但它绘制的边框位于视图的“框”周围,因此看起来非常难看 是否有一种简单/简单的方法可以将边框添加到图像中,或者可以将子视图添加到按钮中,以便显示一个封闭的圆 有一件事可能需要
ui按钮
它是一个图像-也就是说,我在按钮的imageView
属性中放置了一个ui图像
现在看起来是这样的:
我想给心脏一个黑色的边框,或者用一个封闭的UIView
来包围心脏,这是一个黑色或深灰色的圆圈
我曾尝试在imageView
的底层设置borderColor
和borderWidth
,但它绘制的边框位于视图的“框”周围,因此看起来非常难看
是否有一种简单/简单的方法可以将边框添加到图像中,或者可以将子视图添加到按钮中,以便显示一个封闭的圆
有一件事可能需要注意:心脏一开始是白色的,当有人触摸它时,它就会变成红色。我用它来实现一个“收藏夹”功能。我切换颜色的方式是使用以下代码:
func setFavoriteState(_ isFavorite: Bool) {
let favoriteColor : UIColor = isFavorite ? .red : .white
favoriteButton.imageView?.tintColor = favoriteColor
}
最好的方法是有两个单独的图像,一个用于最喜欢的状态,另一个用于最不喜欢的状态。然后,您可以检查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)
}
}
你为什么不用不同的图像来表达你的心呢??我的意思是你可以有两个心脏图像,一个背景是红色的圆圈,一个背景是黑色的,当你点击心脏时,改变图像。如果你不使用动画,这应该是可行的。我不知道这是最好的方法,但它看起来绝对是最简单的方法!我有点希望能找到一种在心脏周围划出边界的方法。希望这个解决方案对你有用,@bitops。你会接受我的回答吗?我会接受的,因为你很善良,写了一个答案。我有点希望在绘画方面得到一些指导,但公平就是公平。