多线程GCD与UIView 动画一起执行的不规律问题

rollrock1987 2014-05-27 07:55:40
 下面是我的代码片段 其中COLUMN_COUNT 跟ROW_COUNT 都是 5
根据我的app的现象观察发现
imgView.image = [UIImage imageNamed:[NSString stringWithFormat:@"%d",dataArray[row][column]]];
NSLog(@"down :%d",dataArray[row][column]);
imgView.transform = CGAffineTransformMakeScale(0.8f, 0.8f);


这三句里面 NSLog 这句是执行的,而且输出的是我要的值,但是就是imgView设置image 跟 transform 不生效,当然,还包括后面的transorm。我从2个方面来判断,1.imgView的图片没有改变。2.tranform设置的动态效果没有出现。

这个现象不是必现的,所以我怀疑是不是我的 多线程或者 动画哪里没用对,导致出现这样不确定的现象?

if(MOVE_DIR_DOWN== dir) 这个条件以上没有其他关于多线程以及动画的操作。

请教高手,哪里出现了问题,万分感谢!!!


if( MOVE_DIR_DOWN == dir )
{
for( column = 0; column < COLUMN_COUNT; ++ column )
{
for( row = 0; row < ROW_COUNT; ++ row )
{
//if( moveArray[row][column] != 0 )
{
UIImageView * imgView = (UIImageView*)[gridBgView viewWithTag:(row * COLUMN_COUNT + column + GRID_TAG_BASE)];

dispatch_async(dispatch_get_main_queue(), ^(void){

[UIView animateWithDuration:0.08f animations:^(void){

CGPoint pt = imgView.center;
pt = CGPointMake(pt.x ,pt.y + (PER_GRID_HEIGH + GRID_TIP_Y) * moveArray[row][column]);
imgView.center = pt;

}completion:^(BOOL bFinished){

if( delArray[row][column])
{
NSLog(@"delImg:row=%d column=%d",row,column);

[imgView removeFromSuperview];
}
else
{
imgView.tag = row * COLUMN_COUNT + column + moveArray[row][column]*COLUMN_COUNT+GRID_TAG_BASE;

if( spEffArray[row][column] )
{
NSLog(@"spEff row:%d column:%d",row,column);

[UIView animateWithDuration:0.05f animations:^(void){

imgView.transform = CGAffineTransformMakeScale(1.1f, 1.1f);

}completion:^(BOOL bFinished){

[UIView animateWithDuration:0.05f animations:^(void){

imgView.image = [UIImage imageNamed:[NSString stringWithFormat:@"%d",dataArray[row][column]]];

NSLog(@"down :%d",dataArray[row][column]);

imgView.transform = CGAffineTransformMakeScale(0.8f, 0.8f);

}completion:^(BOOL bFinished){

[UIView animateWithDuration:0.05f animations:^(void){

imgView.transform = CGAffineTransformMakeScale(1.0f, 1.0f);

}completion:^(BOOL bFinished){

}];

}];

}];
}
}

}];

});
}
}
}

}
...全文
178 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
rollrock1987 2014-06-03
  • 打赏
  • 举报
回复
结贴 问题找到了
ReyZhang 2014-05-29
  • 打赏
  • 举报
回复
你要实现什么样的动画效果,还用到了循环嵌套?

29,028

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧