вставка содержимого для перемещения табличного представления при появлении клавиатуры - PullRequest
3 голосов
/ 16 марта 2012

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

мое уведомление вызывается, но оно не перемещает табличное представление.

- (void)keyboardWillShow:(NSNotification *)notification {
NSLog(@"%@",self.tableView1);

    NSValue *keyboardBoundsValue = [[notification userInfo] objectForKey:UIKeyboardFrameEndUserInfoKey];

    CGRect keyboardBounds;
    [keyboardBoundsValue getValue:&keyboardBounds];
    UIEdgeInsets e = UIEdgeInsetsMake(0, 0, keyboardBounds.size.height, 0);
NSLog(@"%d %d %d %d",self.tableView1.contentInset.bottom,self.tableView1.contentInset.top,self.tableView1.contentInset.left,self.tableView1.contentInset.right);    
    [self.tableView1 setContentInset:e];
    [self.tableView1 setScrollIndicatorInsets:e];
    NSLog(@"%d %d %d %d",self.tableView1.contentInset.bottom,self.tableView1.contentInset.top,self.tableView1.contentInset.left,self.tableView1.contentInset.right);

NSLog(@"%@",self.tableView1);
NSLog(@"keyboard notification");
}

1 Ответ

2 голосов
/ 16 марта 2012

Я полагаю, что вы пытаетесь сделать здесь меньшую область прокрутки таблицы, чтобы клавиатура не перекрывала таблицу.В этом случае, возможно, вы должны поставить

UIEdgeInsets e = UIEdgeInsetsMake(0, 0, keyboardBounds.size.height, 0);

вместо keyboardBounds.size.width.Если вы хотите «переместить» таблицу, то вы можете сделать это только изменив ее frame.origin или center.

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