Добавление кнопок "Далее / Готово" в NumberPad на IOS?
Мне нужно реализовать кнопки Next/ Done для цифровой клавиатуры.
Я использую код ниже.
Но я беру исключение при выборе вида клавиатуры. Индекс 1 за пределами [0...0]
Вот мой код;
//doneButton initialisation
doneButton = [UIButton buttonWithType:UIButtonTypeCustom];
doneButton.frame = CGRectMake(0, 163, 106, 53);
doneButton.adjustsImageWhenHighlighted = NO;
[doneButton setImage:[UIImage imageNamed:@"DoneUp.png"] forState:UIControlStateNormal];
[doneButton setImage:[UIImage imageNamed:@"DoneDown.png"] forState:UIControlStateHighlighted];
[doneButton addTarget:self action:@selector(textFieldShouldReturn:) forControlEvents:UIControlEventTouchUpInside];
//the exception i am taking
else if(textField == cardNumberField)
{
UIWindow* tempWindow = [[[UIApplication sharedApplication] windows] objectAtIndex:1];
UIView* keyboard;
for(int i=0; i<[tempWindow.subviews count]; i++) {
keyboard = [tempWindow.subviews objectAtIndex:i];
// keyboard view found; add the custom button to it
if([[keyboard description] hasPrefix:@"<UIKeyboard"] == YES) {
[keyboard addSubview:doneButton];
}
}
[mainScrollView setContentSize:CGSizeMake(0, mainScrollView.contentSize.height+185)];
[mainScrollView setContentOffset:CGPointMake(0, mainScrollView.frame.origin.y+185)];
}
1 ответ
Решение
Эта строка приводит к ошибке: UIWindow* tempWindow = [[[UIApplication sharedApplication] windows] objectAtIndex:1];
,
Потому что ваше приложение всегда есть one
окно.
Обновление: см. Этот пост.