ont essayé [[self jotNotes] resignFirstResponder];
, ont essayé [self endEditing:YES];
Les vues personnalisées ne suppriment pas les claviers?
J'ai mon NoteViewController, qui hérite UIViewController, et tente de mettre en œuvre le délégué comme si
@interface NOTEController : UIViewController <UITextViewDelegate>
@end
@implementation NOTEController
-(id)init {
self = [super init];
if (self) {
// self.delegate = self; //doesnt let me set this, so i assume i do not do that here
NOTEControllerView * mainView = [[NOTEControllerView alloc] initWithFrame:[UIScreen mainScreen].bounds];
self.view = mainView; //just a plain custom uiview subclass its boring and not special
}
return self;
}
@end
puis dans le MainView, j'ai un tas de sous -les vues qui sont fondamentalement un carré avec un UITextView à l'intérieur. La classe des carrés est comme ceci, et ce sont ceux qui essaient de fermer le clavier, les méthodes où je place le délégué, la méthode rejectKB et le code UITextView. Actuellement, il enregistrera ma méthode de clavier en appuyant sur le bouton terminé, mais le clavier est toujours présent. Apprécierais vraiment si quelqu'un pouvait me aider à comprendre pourquoi
@interface NOTESubview : UIView <UITextFieldDelegate>
@property (nonatomic, weak) id<UITextFieldDelegate> delegate;
-(UITextView *)jotNotes;
@end
@implementation NOTESubview
-(id)initWithFrame:(CGRect)arg1 {
self = [super initWithFrame:arg1];
if (self) {
self.delegate = self;
[self addSubview:[self jotNotes]];
}
return self;
}
-(UITextView *)jotNotes {
UITextView * jotNotes = [[UITextView alloc] initWithFrame:CGRectMake(0, self.frame.size.height/5.7, self.frame.size.width, self.frame.size.height - self.frame.size.height/5.7)];
UIToolbar* keyboardTextViewBar = [[UIToolbar alloc] init];
keyboardTextViewBar.barStyle = UIBarStyleDefault;
[keyboardTextViewBar sizeToFit];
UIBarButtonItem *flexSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];
UIBarButtonItem* doneButton = [[UIBarButtonItem alloc] initWithTitle:@"Done"
style:UIBarButtonItemStylePlain target:self
action:@selector(dismissKB:)];
[keyboardTextViewBar setItems:[NSArray arrayWithObjects:flexSpace, doneButton, nil]];
jotNotes.inputAccessoryView = keyboardTextViewBar;
jotNotes.delegate = self.delegate;
return jotNotes;
}
-(void)dismissKB:(UIBarButtonItem *)sender {
//this will log, so im not sure why it wont resign the board no matter what i try
NSLog(@"keyboard attempted to dismiss by %@", sender);
[[self jotNotes] resignFirstResponder];
}