1

複数選択UICollectionViewの実装を始めたばかりです。以下は「安全な」コードと見なされますか(何らかの理由でAccessoryViewなどではなくBackgroundViewと呼ばれるため)?労力を節約するという考えがありました。配列を介してさらに使用できるように、インデックスパスで選択したアイテムを追跡するつもりです。

-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath 
{
 //....

 cell.selectedBackgroundView = someView_With_A_Checkmark_Image;
 [cell bringSubviewToFront:cell.selectedBackgroundView];

 //...
return cell;

}
4

1 に答える 1

2

安全ですか?もちろん、エラーは発生しません。backgroundViewがセルのcontentViewの上にある場合、contentView??の重要性は何ですか。

コレクションビューのセル構造
ここに画像の説明を入力してください

コレクションビューでアイテムを選択すると、collectionViewはとを切り替えBackgroundViewますSelected background view。したがって、カスタムセルを構成するときに、有効なビューを背景ビューおよび選択した背景ビューとして指定するか、didSelectItemのセルのプロパティを変更して選択を区別することができます。それのほうがいい。

次に、別のアレイを使用して選択を追跡する必要がなくなります。[self.collectionView indexPathsForSelectedItems]は、いつでも選択したアイテムのパスを提供します

于 2013-03-25T14:37:34.100 に答える