Как установить положение UIKeyboard - PullRequest
0 голосов
/ 26 сентября 2010

У меня есть панель поиска, которая находится внизу экрана.

Как установить положение UIKeyboard?

Ответы [ 3 ]

2 голосов
/ 26 сентября 2010

использовать CGAffineTransform По крайней мере из того, что я наблюдал и тестировал, версия ОС до 4.0 должна определять преобразование, от OS 4.0 и выше ОС заботится о расположении клавиатуры. вот почему здесь я проверяю systemVersion перед установкой Transform.

    if ([[[UIDevice currentDevice] systemVersion] floatValue] < 4.0) {
        CGAffineTransform translate = CGAffineTransformMakeTranslation(xx.0, yy.0);//use x,y values
        [self setTransform:translate];
    }
1 голос
/ 26 сентября 2010

Вы не устанавливаете положение клавиатуры.Система сделает это за вас автоматически.

Что вам нужно сделать, это переместить панель поиска в видимую часть, используя уведомления клавиатуры

1 голос
/ 26 сентября 2010

Вы не можете установить положение клавиатуры, вы можете только спросить клавиатуру, где она находится, и правильно организовать другие виды.

// Somewhere you need to register for keyboard notifications

- (void)viewDidLoad {
    [super viewDidLoad];

    // Register for keyboard notifications
    NSNotificationCenter *defaultCenter = [NSNotificationCenter defaultCenter];
    [defaultCenter addObserver:self selector:@selector(keyboardWasShown:)
                          name:UIKeyboardDidShowNotification object:nil];
    //... do something
}

// At some point you need to unregister for notifications
- (void)viewWillHide {
    NSNotificationCenter *defaultCenter = [NSNotificationCenter defaultCenter];
    [defaultCenter removeObserver:self];
}

- (void)keyboardWasShown:(NSNotification*)aNotification
{
    // Caution, this notification can be sent even when the keyboard is already visible
    // You'll want to check for and handle that situation
    NSDictionary* info = [aNotification userInfo];

    NSValue* aValue = [info objectForKey:UIKeyboardFrameEndUserInfoKey];

    CGSize keyboardSize = [aValue CGRectValue].size;

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