I'm trying to animate a tableview's offset down, then in the completion block would move it back up. But my code is not doing anything in the completion block:
-(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");
                         }];
    }
}
"completion block" never gets outputted... any ideas?
EDIT:
Ok, so it has something to do with my 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];
    }
}
When the refresh controll is added, it won't fire off the completion block. if i dont' add the control, it works as intended.
EDIT 2:
K, so if i scroll the table view, the completion block is then fired:
2013-02-15 13:37:06.266 [1922:14003] animating table view
2013-02-15 13:37:14.782 [1922:14003] completion block
the code as written should log "completion block" right after "animating table view", but it has a 8 second delay cause thats when i scrolled the table view myself.
how the "Pull to Refresh" looks like:

I used this and working fine. Its alternative solution.
[UIView animateWithDuration:0.5
                              delay:0.1
                            options: UIViewAnimationOptionCurveEaseOut
                         animations:^
         {
             CGRect frame = self.adBannerView.frame;
             self.adBannerView.frame = frame;
         }
                         completion:^(BOOL finished)
         {
         }];
try adding delay and options.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With