0

現在、アプリでフォト ギャラリーを表示するために AQGridView を使用していますが、選択/選択解除の処理に問題があります。

ギャラリービューに挿入した後にセルを選択できます

つまり、両方のセルを簡単に選択できますが、選択を解除したい場合は、まだクリックしていないセルを選択する必要があります。私の問題は、テーブルビュー編集モードの動作のように選択/選択解除できるようにしたいことです。

このように正しいものをクリックすると

ここに画像の説明を入力

このように他のセルをクリックしない限り、選択を解除することはできません

ここに画像の説明を入力

次に、このように前のセルの選択を解除できます

ここに画像の説明を入力

そして、選択されていないセルに戻ります。しかし、ギャラリーに追加したのがセルだけである場合、セルの選択を解除することはできません。

選択解除/選択は完全にうまく機能しますが、それは私には理解できません。

これが AQGridView didSelectItemAtIndex の私のコードです

- (void) gridView:(AQGridView *)gridview didSelectItemAtIndex:(NSUInteger)index {
NSLog(@"SELECT");
GalleryGridViewCell * cell = (GalleryGridViewCell *)[self.gridView cellForItemAtIndex:index];
[cell selectImg:TRUE];
[imgList addObject:cell.image];
//sentImg = plainCell.image;
}

これが AQGridView didDeselectItemAtIndex の私のコードです

 -(void)gridView:(AQGridView *)gridView didDeselectItemAtIndex:(NSUInteger)index
{
NSLog(@"img deselected %@ at index %d", plainCell.image, index);
GalleryGridViewCell * cell = (GalleryGridViewCell *)[self.gridView cellForItemAtIndex:index];
[cell selectImg:FALSE];
if (imgList != nil)
    [imgList removeObject:cell.image];
}

ここに、GalleryGridViewCell selectImg:(BOOL) 選択用に追加したメソッドがあります

-(void) selectImg:(BOOL) selection
{
if (selection == TRUE)
{
    [_checkBoxBttn setSelected:TRUE];
    [self setSelected:TRUE];
}
if (selection == FALSE)

{
    [_checkBoxBttn setSelected:FALSE];
    [self setSelected:FALSE];
}
}
4

1 に答える 1