Появляющаяся клавиатура изменяет кадр представления

в моем приложении im, нажав на кнопку панели навигации и в качестве ответа я перемещаю вид под панелью навигации 60 px вниз (Дельта var в коде), а под видом, который перемещается вниз, появляется UITextField и в то же время показать клавиатуру.

вот как я этого добиваюсь:

-(void)btnSearch_Click:(id)sender{
    float delta = _viewBtnSort.frame.size.height;
    CGRect rect = rectSearch;
    rect.origin.y += delta;

    [UIView animateWithDuration:0.3f animations:^{
       [_viewSearchResults setFrame:rect];
    }completion:^(BOOL finished) {
       [buttonSearch setEnabled:NO];
       [_txtFieldSearch becomeFirstResponder];
}];}

Проблема

он прекрасно работает в течение нескольких раз, а затем по какой-то необъяснимой причине(не мог найти до сих пор, почему), когда появляется клавиатура, она толкает мой взгляд назад, и я не получаю эффект, который я хочу.

у кого-нибудь есть идеи? Спасибо!

1 ответ