0

Я пытаюсь долго нажать Жест в Swift для опции копирования.Swift, UILongPressGestureRecognizer Не работает в UIlabel

Но он не работает. Он не идентифицирует Жест в UiView или UILabel.

Ниже мой код

В View DidLoad

 let copyLongPress = UILongPressGestureRecognizer(target: self, action: #selector(ContactDetailController.handleLongPress(_:))) 
    copyLongPress.numberOfTouchesRequired = 0 
    copyLongPress.delegate = self 
    copyLongPress.minimumPressDuration=0.5 
    self.lblDynaMobile.addGestureRecognizer(copyLongPress) 
    self.lblDynaMobile.userInteractionEnabled = true 
    self.lblDynaDDI.addGestureRecognizer(copyLongPress) 
    self.lblDynaDDI.userInteractionEnabled = true 
    self.GeneralView.addGestureRecognizer(copyLongPress) 
    self.EmailView.addGestureRecognizer(copyLongPress) 
    self.AddressView.addGestureRecognizer(copyLongPress) 

Новый Mothod

func handleLongPress(longPressView :UILongPressGestureRecognizer) { 

    let lblFont:UILabel = (longPressView.view as? UILabel)! 
    UIPasteboard.generalPasteboard().string = lblFont.text 

} 

Я добавил UIGestureRecognizerDelegate тоже в декларации класса

+0

проверить этот ответ http://stackoverflow.com/questions/10613118/uilabel-uilongpressgesturerecognizer-not-working?rq=1 – sanman

+0

@sanmanborate, я уже сделали это .. но не работает .. self.lblDynaMobile.userInteractionEnabled = true –

+0

@dhavalshah, проверьте этот ответ http://stackoverflow.com/questions/13929703/why-does-uitableviews-swipe-delete-sometimes-work -fine-иногда-нет/20157326 # 20157326 – bademi

ответ

0

Попробуйте это, и посмотреть (он работает.)

// in viewDidLoad() 
let copyLongPress = UILongPressGestureRecognizer(target: self, action: #selector(self.handleLongPress(_:))) 
self.lblDynaMobile.addGestureRecognizer(copyLongPress) 

func handleLongPress(_ gesture: UILongPressGestureRecognizer) { 

    if let lblFont = gesture.view as? UILabel { 
     //UIPasteboard.generalPasteboard().string = lblFont.text 
    } 

} 
Смежные вопросы