ios - 第一个 UIButton 触发同一 View 的另一个 UIbutton 事件

标签 ios swift uibutton target-action

我已经快速创建了两个 UIButton 并以编程方式添加了操作。当我尝试点击第一个按钮时,两个按钮 Action 都会被触发。但是当我点击第二个按钮时,没有触发任何事件。

var btnSort = UIButton(frame: CGRectMake(2, 74, 140, 26))
btnSort.setTitle("SORT", forState: UIControlState.Normal)
btnSort.backgroundColor = UIColor.grayColor()
btnSort.tag=10
btnSort.addTarget(self, action: Selector("showSortTbl:"), forControlEvents: UIControlEvents.TouchUpInside)
self.view.addSubview(btnSort)



var btnFilter = UIButton(frame: CGRectMake(140+16+2, 74, 140, 26))
btnFilter.backgroundColor = UIColor.redColor()
btnFilter.tag=11
btnFilter.setTitle("FILTER", forState: UIControlState.Normal)
btnSort.addTarget(self, action: Selector("showFilterTbl:"), forControlEvents: UIControlEvents.TouchUpInside)
self.view.addSubview(btnFilter)



func showSortTbl(sender: UIButton){
    var btnSendTag :UIButton = sender
    if(btnSendTag.tag == 10){

println("show sort")

    }

}


func showFilterTbl(sender: UIButton){

    var btnSendTag :UIButton = sender
    if(btnSendTag.tag == 11){

        println("show filter")

    }

}

最佳答案

改变这一行

btnSort.addTarget(self, action: Selector("showFilterTbl:"), forControlEvents: UIControlEvents.TouchUpInside)

btnFilter.addTarget(self, action: Selector("showFilterTbl:"), forControlEvents: UIControlEvents.TouchUpInside)

关于ios - 第一个 UIButton 触发同一 View 的另一个 UIbutton 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29205618/

相关文章:

objective-c - 如何让 iAd 在我的应用程序中被全局查看?

ios - CoreData 关系内容不持久

swift - 如何在普通类中快速创建事件?

ios - 动画 UIButton 到全屏

ios - 滚动后 UIScrollView 中对象的可见坐标

ios - 如何使用 switch 语句来查找是否按下了 UIButton?

ios - 错误无法使 UICollectionElementKindCell 类型的 View 出列

ios - 如何防止 Parse 保存 PFObject child 的?

ios - 在没有 Storyboard的情况下以编程方式在 UITextField 上调用 resignFirstResponder

ios - 如何使用 Swift 获取 youtube channel 的所有播放列表?