首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AQGridView insertItemsAtIndices项目重叠

AQGridView insertItemsAtIndices项目重叠
EN

Stack Overflow用户
提问于 2013-01-15 01:20:21
回答 1查看 243关注 0票数 0

当我在AQGridView上调用insertItemsAtIndices时,这些项是重叠的,而不是显示在它们相关的网格中。如果我在GridView上调用reloadData,它工作得很好,但是我想一次只添加一个单元格。

我已经实现了portraitGridCellSizeForGridView,但它似乎不会在插入调用后被调用。

下面是要插入的相关代码:

代码语言:javascript
复制
[self.cartItemArray addObject:cartItem];

[self.cartGridView beginUpdates];

[self.cartGridView insertItemsAtIndices:[NSIndexSet indexSetWithIndex:self.cartItemArray.count - 1] withAnimation:AQGridViewItemAnimationNone];

[self.cartGridView endUpdates];

下面是AQGridView委托方法:

代码语言:javascript
复制
- (NSUInteger)numberOfItemsInGridView:(AQGridView *)gridView {

return _cartItemArray.count;

}

- (AQGridViewCell *)gridView:(AQGridView *)gridView cellForItemAtIndex:(NSUInteger)index {

static NSString * GridCellIdentifier = @"CartItemListViewCell";

CartItemListViewCell_iPad * cell = (CartItemListViewCell_iPad *)[gridView dequeueReusableCellWithIdentifier:GridCellIdentifier];

if (!cell) {
    CGRect cellFrame = CGRectMake(0, 0, _cellWidth, _cellHeight);
    cell = [[CartItemListViewCell_iPad alloc] initWithFrame:cellFrame reuseIdentifier:GridCellIdentifier];
}

CartItem *cartItem = [_cartItemArray objectAtIndex:index];

[(CartItemListViewCell_iPad*)cell updateCartItem:cartItem];

return cell;

}


- (CGSize)portraitGridCellSizeForGridView:(AQGridView *)gridView {

return CGSizeMake(_cellWidth, _cellHeight);
}

- (void)gridView:(AQGridView *)gridView didSelectItemAtIndex:(NSUInteger)index {

if (index >= _cartItemArray.count){
    return;
}

self.selectedItemIndex = index;

[[NSNotificationCenter defaultCenter] postNotificationName:NotificationEditPrintSizeCartItem object:[_cartItemArray objectAtIndex:index]];

}

下面是它看起来的样子:

如您所见,我在屏幕上使用了两个AQGridView。我想知道这是不是导致问题的原因?任何帮助都是非常感谢的。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-15 01:44:43

好了,刚刚解决了。在搜索代码时,我注意到在reloadData中调用了以下代码:

代码语言:javascript
复制
[_gridData setDesiredCellSize: [_dataSource portraitGridCellSizeForGridView: self]];

因此,在添加任何内容之前,我将调用reloadData。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14323362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档