2013-05-01 50 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]; 
    }];` 
} 
相关问题