2017-08-22 1 views
1

Comme le dit mon titre, est-il possible de personnaliser la méthode par défaut des boutons de retour?Désactiver l'animation avec backBarButtonItem

J'ai essayé de trouver sur Google mais n'obtenez pas de réponse qui remplissent mon exigence.

Je connais un moyen d'ajouter UIBarButtonItem-self.navigationItem.leftBarButtonItem et personnaliser la méthode d'action, mais je vais être cacher < signe de Retour bouton et je ne veux pas.

Certains R & D fait par Google.

1) How to override self.navigationItem.backBarButtonItem Action?

2) iOS disable animation for NavigationController back button

3) Google Question/Answer

Ajouter une image qui ressemble à bouton <Back qui est une façon, mais je veux aller avec la manière native.

+0

quel est votre résultat attendu ? élaborez votre question correctement. –

Répondre

1

Une option consiste à mettre en œuvre la méthode viewWillDisappear sur la vue contrôleur et codez animationEnable Pas

override func viewWillDisappear(animated : Bool) { 
super.viewWillDisappear(animated) 
    UIView.setAnimationsEnabled(false) 
} 
override func viewDidDisappear(_ animated: Bool) { 
     UIView.setAnimationsEnabled(false) 
} 
+0

Ne sera pas aidé parce que je veux juste désactiver l'animation de déplacement et l'appel de méthode viewWillDisappear lorsque le déplacement est commencé – Govaadiyo

+0

@Tofaani Kaanudo s'il vous plaît voir ma réponse mise à jour. –

+0

Mais il va désactiver l'animation pour tous les écrans de l'application, donc nous devons gérer True pour tous les écrans pertinents – Govaadiyo

0

vous devez ajouter votre bouton de la barre personnalisé là ...

override func viewDidLoad() { 
     super.viewDidLoad() 
     let button = UIButton(frame: YourDesiredFrame) 
     button.setImage(UIImage(named : "back"), for: .normal) 
     button.addTarget(self, action: #selector(backButtonTapped(_:)), for: .touchUpInside) 
     let barButton = UIBarButtonItem(customView: button) 
     self.navigationItem.backBarButtonItem = barButton 
} 


    func backButtonTapped(_ sender : UIButton) { 
     _ = self.navigationController?.popViewController(animated : false) 
    } 
+0

J'ai essayé que ne fonctionne pas – Govaadiyo

+0

l'animation faux ne fonctionne pas ou bouton? –