gpt4 book ai didi

ios - 自定义 UICollectionViewCell 属性在出队后为空

转载 作者:行者123 更新时间:2023-11-28 21:34:28 31 4
gpt4 key购买 nike

所以我有一个 UICollectionView 和一个自定义单元格,它们都显示出来并且效果很好。我在 viewDidLoad 中注册类(class):

myCollectionView = [[UICollectionView alloc] initWithFrame:collectionViewFrame collectionViewLayout:layout];
[myCollectionView setDataSource:self];
[myCollectionView setDelegate:self];
[myCollectionView setBackgroundColor:[UIColor myColor]];
[myCollectionView registerClass:[SBCustomCell class] forCellWithReuseIdentifier:@"Cell"];

在我的 cellForItemAtIndexPath 方法中,我将单元格出列并设置其属性并将其返回:

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *identifier = @"Cell";

SBCustomCell *cell= [collectionView dequeueReusableCellWithReuseIdentifier:identifier forIndexPath:indexPath];

[cell setName: "My Name"];
cell.image = [UIImage imageNamed:@"lol.png"];
cell.score = 100.0;
cell.backgroundColor=[UIColor whiteColor];

return cell;
}

一切正常,并显示在 UI 中。我的问题是当我在 collectionView 上设置手势识别器时,当我长按某个单元格时,我希望能够访问它的属性。我正在尝试这样做:

-(void)handleLongPress:(UILongPressGestureRecognizer *)longPressRecognizer {

CGPoint locationPoint = [longPressRecognizer locationInView:myCollectionView];

if (longPressRecognizer.state == UIGestureRecognizerStateBegan) {

NSIndexPath *indexPathOfMovingCell = [myCollectionView indexPathForItemAtPoint:locationPoint];

SBCustomCell *cell= [myCollectionView dequeueReusableCellWithReuseIdentifier:@"Cell" forIndexPath:indexPathOfMovingCell];

NSLog(@"%@",cell.name);

当我尝试访问我的自定义单元格的任何属性时,它在控制台中为 (null)。这是为什么?我做错了什么?

最佳答案

你需要使用:

SBCustomCell* cell = (SBCustomCell*)[myCollectionView cellForItemAtIndexPath:indexPathOfMovingCell];

代替:

SBCustomCell* cell = [myCollectionView dequeueReusableCellWithReuseIdentifier:@"Cell" forIndexPath:indexPathOfMovingCell];

此外,您正在使用 SBSingleCandidateUnitView 作为单元格类型,而不是您的 SBCustomCell

关于ios - 自定义 UICollectionViewCell 属性在出队后为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34441133/

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