2014-12-14 3 views
0

Когда я включаю UIPanGestureRecognizer я бы отключить действие кнопок прессованных, а затем, когда этот жест будет концом я хотел бы вновь включить ДействиеSwift button.removeTarget для всех действий в View

func pan(rec:UIPanGestureRecognizer) { 

var p:CGPoint = rec.locationInView(self.view) 

var center:CGPoint = CGPointZero 

switch rec.state { 
case .Began: 
    println("began") 
    selectedView = view.hitTest(p, withEvent: nil) 
    if selectedView != nil { 
     self.view.bringSubviewToFront(selectedView!) 
    } 

case .Changed: 
    if let buttonRecognize = rec.view as? UIButton { 

button.removeTarget(self, action: Selector("\(title):"), forControlEvents:UIControlEvents.TouchUpInside) // but this disable all 
case .Ended: 
     println("ended") 
     if let subview = selectedView { 
      if let button = rec.view as? UIButton { 
       if let title = button.titleForState(.Normal){ 
        button.addTarget(self, action: Selector("\(title):"), forControlEvents: UIControlEvents.TouchUpInside) 
        selectedView = nil 
       }} 
    }  
case .Possible: 
     println("possible") 
    case .Cancelled: 
     println("cancelled") 
    case .Failed: 
     println("failed") 
    }}} 
} 

Я попытался таким образом, и я снова активирую действие, но не знаю, как я могу удалить только действие кнопки нажатой?

ответ

0

Вы можете установить button.enabled = false вместо удаления целевого действия кнопки.