大家好
大概的架构是在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];
});
});