我想动画一个tableview的偏移量下来,然后在完成块将它移回备份。但我的代码是不是在完成块做任何事情:UIView动画和完成块
-(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");
}];
}
}
“完成块”永远不会被输出...任何想法?
编辑:
好了,所以它是与我的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秒的延迟,因为这是我自己滚动表格视图时的情况。
如何 “拉刷新” 的模样:
只是tryed的测试项目中的代码,以及“你可以在模拟器或者设备上试试这个,你使用的是哪个iOS版本,XCode版本? – jamapag 2013-02-15 19:10:31
模拟器,iOS 6.1,xcode 4.6。你在'viewDidAppear:'方法中做过这个吗? – Padin215 2013-02-15 19:27:33
嗯,我有相同的设置。'viewDidAppear'被调用? – jamapag 2013-02-15 19:29:11