代码之家  ›  专栏  ›  技术社区  ›  LC 웃

第一个UIButton触发同一视图的另一个UIButton事件

  •  0
  • LC 웃  · 技术社区  · 10 年前

    我在swift中创建了两个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")
    
        }
    
    }
    
    1 回复  |  直到 10 年前
        1
  •  1
  •   Ahmed Khalaf    10 年前

    更改此行

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

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