pytanie iPhone SDK dla Ciebie.iPhone 3.1 SDK: Kategoria UIViewController wpływa na WSZYSTKIE ViewControllers
Utworzyłem kategorię UIViewController, aby przesunąć widok podczas edycji UITextFields i pojawienia się klawiatury, blokując pola. Znalazłem kod online i bez wątpienia ci guru na iPhone znają go. Interfejs wygląda następująco:
@interface UIViewController (Shiftable)
- (IBAction) textFieldDidBeginEditing:(UITextField *)textField;
- (IBAction) textFieldDidEndEditing:(UITextField *)textField;
- (void) animateTextField: (UITextField *)textField up:(BOOL)up;
@end
Mój problem jest this-- każdy z moich UIViewControllers ma wpływ tej kategorii! Myślałem, że to wpłynęłoby tylko UIViewControllers że importować kategorię następująco:
#import "UIViewController Shiftable.h"
Ale nawet UIViewControllers które nie importują tę kategorię mają ich poglądy przesunął się, gdy są edytowane UITextFields i oczywiście niektóre z moich poglądów nie trzeba być przesuniętym, gdy pojawia się klawiatura, ponieważ klawiatura nie ukrywa pól.
Czy moje rozumienie kategorii jest nieprawidłowe? Czy ktoś może rzucić jakieś światło na ten temat?
Dzięki.
Wszystkie instancje UIViewController będą reagować na metody dodane w kategorii niestandardowej, niezależnie od tego, czy importowany nagłówek zawierał definicję kategorii, czy nie. Importowanie nagłówka wpłynie tylko na ostrzeżenia kompilatora dotyczące tych metod. – Vladimir
Natknąłem się na moją własną odpowiedź sprzed roku ... Ups! - oczywiście masz absolutną rację! –