2017-11-09 38 views
0

제스처 인식기를 길게 누르기를 UIBarButtonItem에 추가하고 싶습니다.하지만 할 수 없습니다. 스토리 보드를 사용할 가능성은 없으며 방법은 addGestureRecognizerUIBarButtonItem입니다.Swift UIBarButtonItem 제스처 인식기 추가

이 문제를 어떻게 해결할 수 있습니까?

+0

하나의 가능한 아이디어에 대해 https://stackoverflow.com/questions/32517434/ios-swift-how-to-implement-longpressed-action-for-backbutton을 참조하십시오. – rmaddy

답변

0

는 다음과 같은 방법을 시도 할 수 있습니다

//1. Create A UIButton Which Can Have A Gesture Attached 
    let button = UIButton(type: .custom) 
    button.frame = CGRect(x: 0, y: 0, width: 80, height: 40) 
    button.setTitle("Press Me", for: .normal) 

    //2. Create The Gesture Recognizer 
    let longPressGesture = UILongPressGestureRecognizer(target: self, action: #selector(doSomething)) 
    longPressGesture.minimumPressDuration = 1 
    button.addGestureRecognizer(longPressGesture) 

    //3. Create A UIBarButton Item & Initialize With The UIButton 
    let barButton = UIBarButtonItem(customView: button) 

    //4. Add It To The Navigation Bar 
    self.navigationItem.leftBarButtonItem = barButton 

는 물론 선택기 방법은 자신 만의 방법으로 대체 될 것이다.