点击切换 UIViews Class
Toggle UIViews Class on Tap
我在 View Controller
中有 5 个不同的 UIViews
,我想通过更改其边框颜色仅突出显示最后一个被点击的。
我做了一个Custom Highlighting Class
,在设计上封装了想要的效果,给每个UIView一个UITapGestureRecognizer
和它的#selector(toggleFunction)
。这5个UIViews
已经有了分配给他们的 class,所以基本上我需要将 Original Class
更改为 Custom Class
,或者根据需要将其 on/off。
我的问题是,当我在 5 UIViews
之间点击时,如何打开和关闭此自定义 Class?
你可以试试
extension UIView {
func addBorder(_ add:Bool) {
self.layer.borderColor = add ? UIColor.red.cgColor : UIColor.green.cgColor
self.layer.borderWidth = add ? 5 : 0
}
}
@objc func tapped(_ v:UITapGestureRecognizer) {
let currentView = v.view!
allViews.forEach {
[=11=].addBorder([=11=] == currentView)
}
}
假设你有
var allViews = [UIView]()
我在 View Controller
中有 5 个不同的 UIViews
,我想通过更改其边框颜色仅突出显示最后一个被点击的。
我做了一个Custom Highlighting Class
,在设计上封装了想要的效果,给每个UIView一个UITapGestureRecognizer
和它的#selector(toggleFunction)
。这5个UIViews
已经有了分配给他们的 class,所以基本上我需要将 Original Class
更改为 Custom Class
,或者根据需要将其 on/off。
我的问题是,当我在 5 UIViews
之间点击时,如何打开和关闭此自定义 Class?
你可以试试
extension UIView {
func addBorder(_ add:Bool) {
self.layer.borderColor = add ? UIColor.red.cgColor : UIColor.green.cgColor
self.layer.borderWidth = add ? 5 : 0
}
}
@objc func tapped(_ v:UITapGestureRecognizer) {
let currentView = v.view!
allViews.forEach {
[=11=].addBorder([=11=] == currentView)
}
}
假设你有
var allViews = [UIView]()