В моем делегате приложения я выполняю свой метод updateData
, используя performSelecorInBackground:withObject
.В конце публикуется уведомление, которое сообщает наблюдателю в моем табличном представлении о необходимости перезагрузить данные.
Моя проблема с анимациями: используя приведенный ниже код, мои анимации начинаются в конце метода, а не напрямуюпосле performSelector
.
Это как-то связано с фоновым выделением селектора или есть что-то еще, чего я не вижу?
Любая помощь будет принята с благодарностью.* Спасибо!
- (void) updateData: (NSString *)newVersionNumber {
... CODE ...
UIView *update = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 360, 20)];
update.backgroundColor = [UIColor blackColor];
[self.navController.view addSubview:update];
[self performSelector:@selector(updateDownAnimation) withObject:nil];
... CODE ...
[[NSNotificationCenter defaultCenter] postNotificationName:@"tableviewShouldReload" object:nil];
... CODE ...
[self performSelector:@selector(updateUpAnimation) withObject:nil];
}
- (void) updateDownAnimation {
[UIView animateWithDuration:0.3 animations:^{
_window.frame = CGRectOffset(_window.frame, 0, 20);
}];
}