После многих проблем я смог добавить кнопку RETURN на цифровую клавиатуру.
Я хочу удалить его при вводе других данных в другие поля uitextfields, потому что в настоящее время эта кнопка появляется каждый раз, когда я использую клавиатуру, это часть клавиатуры.
Я добавляю обработчик событий на KeyBoardDidShow, в противном случае он не работает,
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardDidShowNotification object:nil];
Тогда в KeyboarWillShow
- (void)keyboardWillShow:(NSNotification *)note {
// create custom button
NSLog(@"El note es: %@", note);
UIButton *doneButton = [UIButton buttonWithType:UIButtonTypeCustom];
doneButton.frame = CGRectMake(0, 163, 106, 53);
doneButton.adjustsImageWhenHighlighted = NO;
[doneButton setImage:[UIImage imageNamed:@"done.jpg"] forState:UIControlStateNormal];
[doneButton setImage:[UIImage imageNamed:@"done_pressed.jpg"] forState:UIControlStateHighlighted];
[doneButton addTarget:self action:@selector(doneButton:) forControlEvents:UIControlEventTouchUpInside];
UIWindow *keyboardWindow = nil;
for (UIWindow *testWindow in [[UIApplication sharedApplication] windows]) {
if (![[testWindow class] isEqual:[UIWindow class]]) {
keyboardWindow = testWindow;
break;
}
}
if (!keyboardWindow) return;
// Locate UIKeyboard.
UIView *foundKeyboard = nil;
for (UIView *possibleKeyboard in [keyboardWindow subviews]) {
// iOS 4 sticks the UIKeyboard inside a UIPeripheralHostView.
if ([[possibleKeyboard description] hasPrefix:@"<UIPeripheralHostView"]) {
possibleKeyboard = [[possibleKeyboard subviews] objectAtIndex:0];
}
if ([[possibleKeyboard description] hasPrefix:@"<UIKeyboard"]) {
foundKeyboard = possibleKeyboard;
break;
}
}
if (foundKeyboard) {
// Add the button to foundKeyboard.
[foundKeyboard addSubview:doneButton];
}
}
Дело в том, что это создает кнопку всегда! Очевидно! Я хотел бы создать кнопку только в некоторых uitextfields, не во всех, но как это сделать?
Метод - (BOOL) textFieldShouldBeginEditing: не выполняется в первый раз, только остальные, почему? Не знаю, но если бы я смог узнать, какое uitextfield вызывает клавиатуру, мои волосы снова отрастут, и я стану стройнее, кто-нибудь может помочь?