Как установить верхнюю часть таблицы с помощью свойства contentinset, находясь внизу таблицы - PullRequest
1 голос
/ 27 мая 2010

У меня есть таблица с 20 строками и 250 в качестве высоты строк. Пока я в нижней части таблицы, я хочу сместить таблицу вверх на 65 пикселей. Я пытался сделать

self.tableView.contentInset = UIEdgeInsetsMake (-65,0f, 0,0f, 0,0f, 0,0f);

Также

self.tableView.contentInset = UIEdgeInsetsMake ((4633.0f - 65.0f), 0.0f, 0.0f, 0.0f);

, где 4633.0f - мой contentoffset.y, но безуспешно.

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

Я делаю это

РЕДАКТИРОВАТЬ: Это 'с вставкой таблицы в 2 секунды:

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.2];
// self.tableView.contentInset = UIEdgeInsetsMake((4633.0f - 65.0f), 0.0f, 0.0f, 0.0f);
self.tableView.contentInset = UIEdgeInsetsMake(- 65.0f, 0.0f, 0.0f, 0.0f);  //I want to know what should be written here
[UIView commitAnimations];

и затем вызов функции для сброса обратно как

Это 'возвращает вкладку просмотра таблицы через 3 секунды:

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:.3];
[self.tableView setContentInset:UIEdgeInsetsMake(0.0f, 0.0f, 0.0f, 0.0f)];
[UIView commitAnimations];

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

Спасибо заранее.

1 Ответ

4 голосов
/ 27 мая 2010
-(void)yourMethod
{
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDelegate:self];
    [UIView setAnimationDidStopSelector:@selector(animationDidStop:finished:context:)];
    [UIView setAnimationDuration:0.2];
    tableView.contentInset = UIEdgeInsetsMake(0, 0, 60, 0);
    [UIView commitAnimations];

}

-(void)animationDidStop:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context
{
 [[self tableView] scrollToRowAtIndexPath:[[self tableView] indexPathForSelectedRow]
       atScrollPosition:UITableViewScrollPositionBottom
         animated:YES];

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