現在、アプリでフォト ギャラリーを表示するために 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];
}
}