我想動畫一個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