以下のようにボタンに長押しのジェスチャを追加して、それが押されたときにメソッドが実行されるようにしています。
swift
1//ボタンを押したときの動作 2 btn.addTarget(self,action:#selector(pushed),for: UIControlEvents.touchUpInside) 3 4 // Add a long press gesture recognizer 5 btn.isUserInteractionEnabled = true 6 let longPressGR = UILongPressGestureRecognizer(target: self, action: #selector(longPressHandler)) 7 longPressGR.minimumPressDuration = 0.3 // how long before menu pops up 8 btn.addGestureRecognizer(longPressGR) 9
swift
1@objc func longPressHandler(sender: UILongPressGestureRecognizer) { 2 guard sender.state == .began, 3 let senderView = sender.view, 4 let superView = sender.view?.superview 5 else { return } 6} 7
しかしこれでlongPressHandlerの方で押したボタンを引数として持てるようにしたいです。addTargetでtouchUpInsideのメソッドを定義した際は以下のようにそのボタン自体を引数に取れています。(My ButtonはUIButtonを継承した独自のクラス)
swift
1@objc func pushed(mybtn : MyButton){ 2 3 } 4
longPressHandlerの方でも以上のようにすることは可能でしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/03 12:18
2018/09/04 00:09
2018/09/04 00:17