给ImageView添加action,#selector传参替代

2019-03-21  本文已影响0人  pomelo_西
  1. 首先在视图里,勾选上“User Interaction Enabled”


    Screen Shot 2019-03-21 at 5.01.32 PM.png
@IBOutlet weak var newsImageView: UIImageView!
override func awakeFromNib() {
        super.awakeFromNib()

        let imageViewClick = UITapGestureRecognizer(target: self, action: #selector(changeBar))
        newsImageView.addGestureRecognizer(imageViewClick)
}

接下来就是定义changeBar事件

注意: 如果想要设置几个点击区域共用一个事件,网上找了很久,没有找到#selector里传参的办法
那么可以在视图里(上图),设置Tag属性值,就可以加以区分

@objc func changeBar(uiTap: UITapGestureRecognizer) {
     let currentTapView = uiTap.view
     var currentBar = "news"
     switch currentBarView?.tag {
        case 0:
            currentBar = "news"
        case 1:
            currentBar = "books"
        case 2:
            currentBar = "laws"
        case 3:
            currentBar = "arts"
        case 4:
            currentBar = "its"
        default:
            break
}
上一篇 下一篇

猜你喜欢

热点阅读