Question iPhone SDK pour vous.SDK iPhone 3.1: la catégorie UIViewController affecte TOUS les ViewControllers
J'ai créé une catégorie UIViewController pour déplacer une vue quand UITextFields sont en cours d'édition et le clavier apparaît, bloquant les champs. J'ai trouvé le code en ligne et sans aucun doute vous gourous iPhone sont familiers avec lui. L'interface ressemble à ceci:
@interface UIViewController (Shiftable)
- (IBAction) textFieldDidBeginEditing:(UITextField *)textField;
- (IBAction) textFieldDidEndEditing:(UITextField *)textField;
- (void) animateTextField: (UITextField *)textField up:(BOOL)up;
@end
Mon problème est this-- chacun de mes UIViewControllers est affecté par cette catégorie! Je pensais que cela ne concernerait UIViewControllers que l'importation de la catégorie comme suit:
#import "UIViewController Shiftable.h"
Mais même UIViewControllers qui n'importent pas cette catégorie ont leurs vues décalées vers le haut quand UITextFields sont édités, et bien sûr certaines de mes opinions ne ai pas besoin être décalé lorsque le clavier apparaît car le clavier ne cache pas les champs.
Je crois comprendre des catégories incorrectes? Quelqu'un peut-il nous éclairer à ce sujet?
Merci.
Toutes les instances UIViewController réagiront aux méthodes ajoutées dans la catégorie personnalisée quel que soit vous-tête wether importé avec la définition de la catégorie ou non. L'importation d'en-tête n'affecte que les avertissements du compilateur concernant ces méthodes. – Vladimir
Je suis tombé sur ma propre réponse d'il y a un an ... Oups! - Bien sûr, vous avez absolument raison! –