Я пытаюсь оживить смещение таблицы вниз, а затем в блоке завершения будет перемещать его обратно. Но мой код ничего не делает в блоке завершения:
-(void)viewDidAppear:(BOOL)animated {
if (TRUE) {
NSLog(@"animating table view");
[UIView animateWithDuration:.25
animations:^{
self.tableView.contentOffset = CGPointMake(self.tableView.contentOffset.x, self.tableView.contentOffset.y - 60);
}
completion:^(BOOL finished){
NSLog(@"completion block");
}];
}
}
"блок завершения" никогда не выводится... любые идеи?
EDIT:
Хорошо, поэтому он имеет какое-то отношение к моему UIREfreshControl:
- (void)viewDidLoad
{
[super viewDidLoad];
if (TRUE) {
UIRefreshControl *refresh = [[UIRefreshControl alloc] init];
refresh.attributedTitle = [[NSAttributedString alloc] initWithString:@"Pull to Refresh"];
[refresh addTarget:self action:@selector(refreshTableView:) forControlEvents:UIControlEventValueChanged];
[self setRefreshControl:refresh];
}
}
Когда элемент управления обновлением добавлен, он не будет блокировать блок завершения. если я не добавляю элемент управления, он работает по назначению.
ИЗМЕНИТЬ 2:
K, поэтому, если я просматриваю представление таблицы, тогда завершается блок завершения:
2013-02-15 13:37:06.266 [1922:14003] animating table view
2013-02-15 13:37:14.782 [1922:14003] completion block
написанный код должен записывать "блок завершения" сразу после "анимационного представления таблицы", но он имеет 8-секундную причину задержки, когда я прокручивал представление таблицы самостоятельно.
как выглядит "Pull to Refresh":