Несовместимая анимация для UITableView contentInset - PullRequest
2 голосов
/ 06 ноября 2011

Может кто-нибудь помочь с проблемой анимации, которую я не могу понять.У меня есть следующий код, который я реализую в «pull to refresh».

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.3];
self.tableView.contentInset = UIEdgeInsetsMake(50, 0, 0, 0);
[UIView commitAnimations];

Этот метод также вызывается в viewDidAppear: и вот тут возникает моя проблема. При начальной загрузке приложения, это прекрасно работает.Однако, когда вид появляется после удаления вида или отклонения модального вида, он не анимируется.Я установил точки останова до и после, так что я знаю, что он вызывается, но без анимации.Я также пробовал другие анимации вместо contentInset, и они работают нормально.И в довершение всего, если я изменю вкладку содержимого на отрицательную, она не будет работать при начальной загрузке, но прекрасно работает во всех других ситуациях (хотя, очевидно, движется в противоположном направлении).

Я действительнопризнателен за любую помощь

1 Ответ

2 голосов
/ 10 ноября 2011

Итак, код анимации, который я перечислил, кажется странным, но, по крайней мере, моя цель состоит в добавлении

if (feedTableView.contentOffset.y < 100 && feedTableView.contentOffset.y >= 0)
    [feedTableView setContentOffset:CGPointMake(0, -50) animated:YES]; 

на дно. Таким образом, если tableView в данный момент находится вблизи вершины, когда представление появляется, contentInset изменяется, чтобы включить заголовок «Загрузка», тогда tableView прокручивается к вершине этого заголовка.

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