第一个 UIButton 触发同一视图的另一个 UIbutton 事件
Posted
技术标签:
【中文标题】第一个 UIButton 触发同一视图的另一个 UIbutton 事件【英文标题】:First UIButton fires another UIbutton event of same view 【发布时间】: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。 “复制粘贴”错误。btnSort
s
是的,首先我为一个按钮创建动作,在复制时为另一个按钮创建动作,我忘了更改名称。
【参考方案1】:
改变这一行
btnSort.addTarget(self, action: Selector("showFilterTbl:"), forControlEvents: UIControlEvents.TouchUpInside)
到
btnFilter.addTarget(self, action: Selector("showFilterTbl:"), forControlEvents: UIControlEvents.TouchUpInside)
【讨论】:
哎呀..那个简单的错误..感谢您的回答 @anishparajuli 你应该把它标记为你的答案。以上是关于第一个 UIButton 触发同一视图的另一个 UIbutton 事件的主要内容,如果未能解决你的问题,请参考以下文章