iPhone SDK question for you.
I've created a UIViewController category to shift a view up when UITextFields are being edited and the keyboard appears, blocking the fields. I found the code online and no doubt you iPhone gurus are familiar with it. The interface looks like this:
@interface UIViewController (Shiftable)
- (IBAction) textFieldDidBeginEditing:(UITextField *)textField;
- (IBAction) textFieldDidEndEditing:(UITextField *)textField;
- (void) animateTextField: (UITextField *)textField up:(BOOL)up;
@end
My problem is this-- every one of my UIViewControllers is affected by this category! I thought this would only affect UIViewControllers that import the category as follows:
#import "UIViewController Shiftable.h"
But even UIViewControllers that do not import this category have their views shifted up when UITextFields are edited, and of course some of my views do not need to be shifted when the keyboard appears as the keyboard does not hide the fields.
Is my understanding of categories incorrect? Can anyone shed any light on this?
Thanks.
No, that's the way categories work - if you add some methods to a class then all those changes will be available for all instances of that class during runtime.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With