Пользовательская клавиатура в нескольких видах - PullRequest
1 голос
/ 02 ноября 2010

У меня есть UIViewController с UITextField, который использует настраиваемую кнопку «ВЫПОЛНЕНО», когда для keyboardType установлено значение NumberPad.Я использовал код, подобный этому -

http://www.neoos.ch/news/46-development/54-uikeyboardtypenumberpad-and-the-missing-return-key

Однако моя проблема заключается в том, что пользовательская клавиатура остается везде в других UIviews приложения.Если я вызываю клавиатуру из другого View Controller, я все равно получаю кнопку «DONE», накладывающуюся на клавиатуру.У меня есть другие представления, которым нужны ненастроенные версии UIKeyboard.

Спасибо

1 Ответ

1 голос
/ 29 августа 2011

Я начал с того же блога, который вы упомянули выше.Я столкнулся с той же самой проблемой, потому что у меня было несколько типов клавиатуры во всем приложении.

Мое решение включало следующие изменения:

1 - сделать UIButton * doneButton переменной-членом для класса Controller

2 - В методе "viewDidLoad" у меня есть следующий фрагмент

self.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(doneButton:) forControlEvents:UIControlEventTouchUpInside];

3 - В IBAction "doneButton" у меня есть следующий фрагмент, чтобы убедиться, что кнопка удалена изпредставление клавиатуры.

- (IBAction) doneButton:(id)sender {
    [self.view endEditing:YES];
    [doneButton removeFromSuperview];
}

Логика добавления кнопки ничем не отличается от описания в блоге, поэтому до тех пор, пока вы следуете этому направлению, вы должны увидеть кнопку на цифровой клавиатуре, а затем удалить ее, когдаВы нажимаете кнопку «Готово».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...