【问题标题】:First UIButton fires another UIbutton event of same view第一个 UIButton 触发同一视图的另一个 UIbutton 事件
【发布时间】:2015-03-23 08:11:06
【问题描述】:

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

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。
  • “复制粘贴”错误。 btnSorts
  • 是的,首先我为一个按钮创建动作,在复制时为另一个按钮创建动作,我忘了更改名称。

标签: ios swift uibutton target-action


【解决方案1】:

改变这一行

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

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

【讨论】:

  • 哎呀..那个简单的错误..感谢您的回答
  • @anishparajuli 你应该把它标记为你的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-11
  • 1970-01-01
  • 2011-12-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多