Mój kod:Jak dodać pole tekstowe do inputAccessoryView i uczynić TextView pierwszy responder
- (void)viewDidLoad {
[super viewDidLoad];
CGRect rectFake = CGRectZero;
UITextField *fakeField = [[UITextField alloc] initWithFrame:rectFake];
[self.view addSubview:fakeField];
UIView *av = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, 0.0, 39.0)];
av.backgroundColor = [UIColor darkGrayColor];
CGRect rect = CGRectMake(200.0, 4.0, 400.0, 31.0);
UITextField *textField = [[UITextField alloc] initWithFrame:rect];
textField.borderStyle = UITextBorderStyleRoundedRect;
textField.font = [UIFont systemFontOfSize:24.0];
textField.delegate = self;
[av addSubview:textField];
fakeField.inputAccessoryView = av;
[fakeField becomeFirstResponder];
}
Próbowałem dodać
[textField becomeFirstResponder]
na końcu, ale to robi żadnej pracy.
Kolejny problem polegający na tym, że metoda delegowania ukrywania klawiatury po naciśnięciu klawisza ENTER nie działa również.
- (BOOL) textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
return YES;
}
spróbować tego UIView * av = [[UIView alloc] initWithFrame: CGRectMake (0,0, 0,0, 320,0, 39,0)]; –
Niestety, nie wspomniałem, że jest to na iPada i ten widok rozciąga się wzdłuż klawiatury, więc szerokość nie ma sensu. – Michael