[问题] UICollectionView的UIView animate问题

楼主: chengpocheng (阿璋仔)   2014-12-13 12:55:45
大家好
大概的架构是在UITableView上面贴了两个CollectionView
我原本用下列这种方式,CollectionView是可以正确的改变大小
[UIView animateWithDuration:0.2
delay:0.1
options:UIViewAnimationOptionCurveEaseIn
animations:^{
CollectionView.frame = CGrectRectMake = (0,0,300,300);
}
completion:^(BOOL finished)
{
menu_status =1;
}
];
但自从我在ViewDidLoad加了dispatch_async后
上面的程式码就无法跑出原本的效果,画面中frame大小并未改变
但我用NSLog在动画前跟后印出frame大小,数值是有改变的
请大大们指点要怎么修改?谢谢
附上dispatch_async部分代码
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
// 抓取Json资料
NSArray * itemParser = [self jsonDataParserArray:WebUrl];
dispatch_async(dispatch_get_main_queue(), ^{
//将Json资料加到Array里面以后reloadData显示画面
firstDictionary = [[NSMutableDictionary alloc]init];
FileName = [[photoArray objectAtIndex:photoIndex] objectForKey:@"iconFile"];
[firstDictionary setObject:FileName forKey:@"image"];
[Tableview reloadData];
});
});
作者: s8911124 (-.-)   2014-12-13 13:48:00
dispatch_get_main_queue UI操作要在mainthread下
楼主: chengpocheng (阿璋仔)   2014-12-13 15:58:00
谢谢S大给我的灵感,问题解决了由于在抓JSON资料时会先创造UICollectionView一次在CellAtIndex加个阵列数不为0的判断式就解决了3Q

Links booklink

Contact Us: admin [ a t ] ucptt.com