2013-05-01 74 views
1

當用戶點擊一個單元格時,我在表格視圖上爲視圖添加動畫。雖然我的DidSeclectRowAtIndexPath會在第一次點擊單元格時被調用,但動畫不會發生。在第二次敲擊時,動畫塊被觸發。 什麼可能導致此問題?無法從第一次點擊didselectrowatindexpath開始動畫?

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    self.ChosenSubCategory=[self.SubCategoryListArray objectAtIndex:indexPath.row]; 
    [self getUserSpecificLevelDetails]; 
    // [self ShowLevelPickerView]; 

    [UIView animateWithDuration:1.0 animations:^{ 
      [self.ChooseLevelView setCenter:CGPointMake(self.view.frame.size.width/2, self.view.frame.size.height/2)]; 
     [player prepareToPlay]; 
     [player play]; 
    }]; 


} 

回答

0

可能是因爲線程問題。

請嘗試下面的解決方案。希望它有效。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath 

*)indexPath 
{ 
    self.ChosenSubCategory=[self.SubCategoryListArray objectAtIndex:indexPath.row]; 
    [self getUserSpecificLevelDetails]; 
    // [self ShowLevelPickerView]; 

    [self performSelector:@selector(performOperation) withObject:nil afterDelay:0]; 
} 


- (void)performOperation 
{ 
     [UIView animateWithDuration:1.0 animations:^{ 
      [self.ChooseLevelView setCenter:CGPointMake(self.view.frame.size.width/2, self.view.frame.size.height/2)]; 
     [player prepareToPlay]; 
     [player play]; 
    }];` 
}