"我的视图" 有一个子视图( UICollectionView )。子视图大小为纵向模式0,0,375,50。
当我启动应用程序时。以下是结果。
横向模式下的窗口大小为0,0,375,667。
"我的观点"在横向模式下调整大小,子视图也会调整大小。但子视图大小仍为0,0,375,50。
我期待subview.bounds返回0,0,667,50。
以下答案说使用边界,但对我来说它不起作用。查看调整大小但是边界不正确。
答案 0 :(得分:1)
修复约束,感谢this answer by Followben您可以根据视图方向重新计算并将其除以数组计数
- (CGSize)collectionView:(UICollectionView *)collectionView
layout:(UICollectionViewLayout *)collectionViewLayout
sizeForItemAtIndexPath:(NSIndexPath *)indexPath
{
// Adjust cell size for orientation
if (UIDeviceOrientationIsLandscape([[UIApplication sharedApplication] statusBarOrientation])) {
return CGSizeMake(170.f, 170.f); //Make sure you calculate This
}
return CGSizeMake(192.f, 192.f); //Make sure you calculate This
}
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
[self.collectionView performBatchUpdates:nil completion:nil];
}