выделите кнопку возврата на клавиатуре iOS - PullRequest
5 голосов
/ 16 января 2012

Я пытаюсь найти способ выделить кнопку возврата на стандартной клавиатуре ios, но я не нахожу никакой документации.

Кто-нибудь знает, как это сделать?

Спасибоочень за ответы.

Ответы [ 2 ]

4 голосов
/ 25 января 2012

Кнопка возврата не может быть выделена, выделенное состояние существует для различных значений UIReturnKeyType:

typedef enum {
    UIReturnKeyDefault,
    UIReturnKeyGo,
    UIReturnKeyGoogle,
    UIReturnKeyJoin,
    UIReturnKeyNext,
    UIReturnKeyRoute,
    UIReturnKeySearch,
    UIReturnKeySend,
    UIReturnKeyYahoo,
    UIReturnKeyDone,
    UIReturnKeyEmergencyCall,
} UIReturnKeyType;

Синяя подсветка появляется на всех них, кроме UIReturnKeyDefault (что, кстати, является однимс надписью «Возврат»).

Вы можете установить UIReturnKeyType для любого элемента управления вводом текста, который соответствует UITextInputTraits (например, UITextField, UITextView) [id <UITextInputTraits> returnKeyType].

0 голосов
/ 26 января 2012

В случае, если вы хотите немного больше настроить свой textView, я нашел пример о , как добавить пользовательскую кнопку на клавиатуре .Этот код датирован мартом 2008 года, и я не смог заставить его работать на iOS5, но вы можете понять:

@synthesize window;
@synthesize viewController;

- (void)applicationDidFinishLaunching:(UIApplication *)application {    

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
    window.backgroundColor = [UIColor blackColor];
    [window addSubview:viewController.view];
    [window makeKeyAndVisible];
}

- (void)keyboardWillShow:(NSNotification *)note {

    //The UIWindow that contains the keyboard view
    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];

        //Get a reference of the current view 
        for(int i = 0; i < [tempWindow.subviews count]; i++)
        {
            keyboard = [tempWindow.subviews objectAtIndex:i];

            if([[keyboard description] hasPrefix:@"(lessThen)UIKeyboard"] == YES)
            {
                //Keyboard is now a UIView reference to the UIKeyboard we want. From here we can add a subview
                //to th keyboard like a new button
                dot = [UIButton buttonWithType:UIButtonTypeCustom];
                dot.frame = CGRectMake(0, 163, 106, 53);
                [dot setImage:[UIImage imageNamed:@"period.gif"] forState:UIControlStateNormal];
                [dot setImage:[UIImage imageNamed:@"period2.gif"] forState:UIControlStateHighlighted];
                [keyboard addSubview:dot];
                [dot addTarget:self action:@selector(addDot:)  forControlEvents:UIControlEventTouchUpInside];

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