Если у кого-то есть приложение GymBuddy, тогда они узнают, о чем я говорю. Они, похоже, используют клавиатуру с клавиатурой Stock Pad, но добавили «.». в нижнем левом углу, а также в верхней панели, чтобы перейти к альфа-символам. Кто-нибудь знает как это сделать? Делаю ли я новое представление, подобное клавиатуре, и подтягиваю его, а кнопки соответствуют текстовому полю для ввода? Я не могу найти никакой информации о настройке клавиатуры или создании вашей собственной. СпасибоСоздание пользовательского UIKeyBoard для iPhone
0
A
ответ
5
Я сделал это. В основном вы добавляете свою собственную кнопку в качестве подпрограммы UIKeyboard следующим образом:
// This function is called each time the keyboard is going to be shown
- (void)keyboardWillShow:(NSNotification *)note {
// Just used to reference windows of our application while we iterate though them
UIWindow* tempWindow;
// Because we cant get access to the UIKeyboard throught the SDK we will just use UIView.
// UIKeyboard is a subclass of UIView anyways
UIView* keyboard;
// Check each window in our application
for(int c = 0; c < [[[UIApplication sharedApplication] windows] count]; C++)
{
// Get a reference of the current window
tempWindow = [[[UIApplication sharedApplication] windows] objectAtIndex:c];
// Loop through all views in the current window
for(int i = 0; i < [tempWindow.subviews count]; i++)
{
// Get a reference to the current view
keyboard = [tempWindow.subviews objectAtIndex:i];
// From all the apps i have made, they keyboard view description always starts with <UIKeyboard so I did the following
if([[keyboard description] hasPrefix:@"<UIKeyboard"] == YES)
{
// Only add the Decimal Button if the Keyboard showing is a number pad. (Set Manually through a BOOL)
if (numberPadShowing && [keyboard viewWithTag:123] == nil) {
// Set the Button Type.
dot = [UIButton buttonWithType:UIButtonTypeCustom];
// Position the button - I found these numbers align fine (0, 0 = top left of keyboard)
dot.frame = CGRectMake(0, 163, 106, 53);
dot.tag = 123;
// Add images to our button so that it looks just like a native UI Element.
[dot setImage:[UIImage imageNamed:@"dotNormal.png"] forState:UIControlStateNormal];
[dot setImage:[UIImage imageNamed:@"dotHighlighted.png"] forState:UIControlStateHighlighted];
//Add the button to the keyboard
[keyboard addSubview:dot];
// When the decimal button is pressed, we send a message to ourself (the AppDelegate) which will then post a notification that will then append a decimal in the UITextField in the Appropriate View Controller.
[dot addTarget:self action:@selector(sendDecimal:) forControlEvents:UIControlEventTouchUpInside];
return;
}
else if (numberPadShowing && [keyboard viewWithTag:123])
{
[keyboard bringSubviewToFront:dot];
}
else if (!numberPadShowing)
{
for (UIView *v in [keyboard subviews]){
if ([v tag]==123)
[v removeFromSuperview];
}
}
}
}
}
}
- (void)sendDecimal:(id)sender {
// The decimal was pressed
}
Надеюсь, что это ясно.
-Oscar
3
Проверить этот пост, это может быть ваш ответ:
Смежные вопросы
- 1. iphone UIKeyboard landscape
- 2. iPhone Swipe UIKeyboard для переключения просмотров
- 3. Лучшая практика для уведомлений UIKeyboard - iPhone SDK
- 4. UIKeyboard с iPhone OS 4
- 5. iPhone Создание пользовательского регистрационного класса
- 6. iPhone - Создание пользовательского TableView программно
- 7. Создание элементов пользовательского интерфейса iPhone
- 8. iOS iPhone - получить высоту UIKeyboard до клавиатурыWillShow
- 9. Создание пользовательского popover для iPhone - какой класс для подкласса?
- 10. Создание пользовательского экрана загрузки на iPhone
- 11. Создание пользовательского интерфейса
- 12. Как сделать UIKeyboard черным?
- 13. Создание AdHoc для iphone
- 14. uikeyboard вернуться
- 15. UIkeyboard type
- 16. UIKeyboard - кнопка блокировки закрывающих колпачков
- 17. создание link_to для пользовательского маршрута
- 18. Создание пользовательского бэкенда для чашек
- 19. Создание пользовательского окна для GLUT?
- 20. Создание пользовательского DataType для GoogleFit
- 21. Создание пользовательского значка для JFrame
- 22. Создание пользовательского «события» для конструктора
- 23. Создание пользовательского набора для андроидов
- 24. Создание пользовательского трекера для отклика
- 25. создание пользовательского интерфейса для casperjs
- 26. Создание пользовательского onClickListner для фрагмента
- 27. отслеживать пользовательский ввод от UIKeyboard
- 28. Создание универсальных файлов пользовательского интерфейса
- 29. Как получить размер UIKeyboard с Apple iPhone SDK
- 30. iPhone/iOS с UIKeyboard + настраиваемая компоновка панели инструментов
Большое спасибо, я попробую это, когда я прихожу домой –