gpt4 book ai didi

ios - UICollectionView 允许对特定部分进行多项选择

转载 作者:可可西里 更新时间:2023-11-01 05:20:13 25 4
gpt4 key购买 nike

有没有办法只允许对特定部分进行多项选择?以下代码会影响所有部分。

[self.collectionView setAllowsMultipleSelection:YES];

我应该跟踪状态并在 didSelect 中做些什么吗?

最佳答案

您可以通过实现 shouldSelectItemAtIndexPath: method 来控制单元格选择在您的 UICollectionViewDelegate 实现中。

例如,此代码允许选择第 1 部分的任意数量的单元格,但只能选择任何其他部分的一个单元格:

- (BOOL)collectionView:(UICollectionView *)collectionView shouldSelectItemAtIndexPath:(NSIndexPath *)indexPath {
return collectionView.indexPathsForSelectedItems.count == 0 && indexPath.section == 1;
}

如果您需要更复杂的行为,您可以在 didSelectItemAtIndexPath 中实现它.例如,此代码将只允许在第 1 部分进行多项选择,而在任何其他部分只允许选择一个单元格:

- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.section == 1)
return;

NSArray<NSIndexPath*>* selectedIndexes = collectionView.indexPathsForSelectedItems;
for (int i = 0; i < selectedIndexes.count; i++) {
NSIndexPath* currentIndex = selectedIndexes[i];
if (![currentIndex isEqual:indexPath] && currentIndex.section != 1) {
[collectionView deselectItemAtIndexPath:currentIndex animated:YES];
}
}
}

关于ios - UICollectionView 允许对特定部分进行多项选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32697992/

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