UICollectionView
存在一些问题和细胞间距。我想出了如何更改间距并完美地适用于我的纵向视图,但不适用于我的横向视图。我试着区分:
//set minimum spacing
if(UIDeviceOrientationIsLandscape([UIDevice currentDevice].orientation)){
layout.minimumLineSpacing = 100.0f;
}
else{
layout.minimumLineSpacing = 40.0f;
}
但不幸的是,当我从纵向切换到横向时,它不会改变。谁能告诉我如何实现这一目标呢?
答案 0 :(得分:0)
试试这个
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
[yourcollectionView performBatchUpdates:nil completion:nil];
}
答案 1 :(得分:0)
我明白了,这正是我所怀疑的。我移动代码以将间距创建为自己的函数,然后根据方向返回值。代码如下:
-(CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)
collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section{
if(UIDeviceOrientationIsLandscape([UIDevice currentDevice].orientation)){
NSLog(@"Changed to landscape Spacing");
return 100.0f;
}
else{
return 40.0f;
}
}
感谢帮助人员,您的意见帮助我找到了一个解决方案,有时与某人讨论问题有助于我思考