Пользовательский iPhone KeyBoard для SDK 4 (iOS4 OS) - PullRequest
1 голос
/ 24 июня 2010

Старое решение SDK:

- (void)modifyKeyboard:(NSNotification *)notification 
{
    UIView *firstResponder = [[[UIApplication sharedApplication] keyWindow] performSelector:@selector(firstResponder)];

    for (UIWindow *keyboardWindow in [[UIApplication sharedApplication] windows])
        for (UIView *keyboard in [keyboardWindow subviews])
            if([[keyboard description] hasPrefix:@"<UIKeyboard"] == YES)
            {
                MyFancyKeyboardView *customKeyboard = [[MyFancyKeyboardView alloc] initWithFrame: CGRectMake(0, 0, keyboard.frame.size.width, keyboard.frame.size.height);
                                                       [keyboard addSubview: customKeyboard];
                                                       [customKeyboard release];
            }
}

Следуя вышеприведенному методу, я обнаружил, что iOS4 отличается.Она не будет работать.Я уверен, что это происходит из-за различий в именах подпредставлений (или сортировки).Кто-нибудь знает, как обойти эту же проблему, для iphone SDK 4?

Ответы [ 4 ]

6 голосов
/ 06 июля 2010

Вы можете взглянуть на этот пост: http://www.neoos.ch/news/46-development/54-uikeyboardtypenumberpad-and-the-missing-return-key

Это решает проблему и работает для всех версий SDK

5 голосов
/ 24 июня 2010

Да. iOS 4 поддерживает настраиваемые представления ввода - вы можете поменять свой собственный MyFancyKeyboardView на любую клавиатуру, унаследованную от UIResponder (например, UITextField и UITextView), установив свойство inputView ответчика.

3 голосов
/ 29 октября 2010

4.1 SDK теперь имеет UIKeyboardTypeDecimalPad, что вы и пытаетесь сделать, верно?

0 голосов
/ 25 июля 2012

для ios 5, похоже, не работает. но когда я изменяю код следующим образом:

изменить UIKeyboard на UIPeripheralHostView

это работает. Надеюсь, это пригодится другому разработчику.

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