gpt4 book ai didi

ios - UICollectionView 布局在 iPad 上崩溃,但在 iPhone 上运行良好

转载 作者:行者123 更新时间:2023-11-29 02:03:29 27 4
gpt4 key购买 nike

UICollection View 布局在 ipad 中崩溃,但在 iphone 中运行良好。我们是否必须以不同于 iPhone 的方式管理 iPad 的 UICollection View 布局?

我的代码:

-(void)reloadData {


if(collectionData!= nil)
{
collectionData = nil;
}

[self.collectionView reloadData];

}

-(void)setCollectionView {

if(self.collectionView == nil) {
// self.collectionView = (UICollectionView *)[self.view viewWithTag:_wallCollectionView_tag];
self.collectionView.dataSource = self;
self.collectionView.delegate = self;
self.collectionView.userInteractionEnabled = YES;
}

}

`enter code here`- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
{printf("\n = %s",__FUNCTION__);

return 1;
}
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{

return [collectionData count];
}

- (CGSize)collectionView:(UICollectionView *)collectionView
layout:(UICollectionViewLayout*)collectionViewLayout
sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
if ( [ [ UIScreen mainScreen ] bounds ].size.width > 320) {
return CGSizeMake(118, 118);
}
return CGSizeMake(100, 100);
}

最佳答案

*** Terminating app due to uncaught exception 'NSRangeException', reason:     '*** -[__NSArrayM objectAtIndex:]: index 5 beyond bounds [0 .. 4]' ***

这清楚地表明,您试图访问超出数组边界的元素。下一步检查:

  1. 您对 -numberOfItemsInSection 方法和 -cellForItemAtIndexPath 方法使用相同的数组。
  2. 当 collectionView 更新时,您不会改变数组(删除\添加元素)。
  3. 您正确访问数据源数组:要检索数组的最后一个元素,它有 5 个元素,您应该使用键“4” - collectionData[4] 或 collectionData[[collectionData count] - 1]。

关于ios - UICollectionView 布局在 iPad 上崩溃,但在 iPhone 上运行良好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30080365/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com