В viewDidAppear
вашего контроллера представления вы можете добавить это:
let gestureRecognizer = UILongPressGestureRecognizer(target: self, action: #selector(myCalledFunction))
(myUIBarButton.value(forKey: "view") as? UIView)?.addGestureRecognizer(gestureRecognizer)
Это сложно, потому что UIBarButton на самом деле не предоставляет свое представление, и поэтому вы не можете напрямую добавить к нему gestRecognizer.
Однако вы можете получить ссылку на его вид, используя метод value(forKey:)
, а затем поиграть с ним.
Не делайте этого в viewDidLoad
, так как это необходимо для просмотра. уже созданы для того, чтобы это работало.