J'ai créé une sous-classe de UITextView et maintenant je veux étendre le UIMenuController
par défaut en ajoutant quelques boutons. Exécution de l'extension n'est pas un problème du tout, je dois juste ajouter quelques UIMenuItem
de sorte que le tableau menuItems
de l'instance partagée de la UIMenuController
.Où ajouter des éléments de menu personnalisés à UIMenuController?
Ma question est maintenant: Où dois-je effectuer cette manipulation? Le MenuController est une implémentation singleton, donc chaque modification que je fais affecte toutes les autres vues qui supportent le menu. Alors, où vais-je ajouter les éléments de menu supplémentaires et où puis-je les supprimer plus tard? Je cherche une sorte d'équivalent à la méthode viewWillAppear
de UIViewController.
Ou est-ce que je m'inquiète beaucoup trop et c'est une bonne pratique de l'implémenter dans le contrôleur de vue de la vue contenant ma sous-classe UITextView
? Cependant, cela signifie que chaque contrôleur de vue contenant ma classe en tant que sous-vue devra implémenter le même code. Y a-t-il un meilleur moyen?
Modifier: Une autre option est bien sûr de garder les sélecteurs pour ma classe unique et que toutes les autres vues personnalisées renvoient NO
pour le sélecteur dans -respondsToSelector:
. Cela semble être la meilleure solution jusqu'à présent pour moi.
Quelle est la meilleure pratique?