Как включить режим редактирования AQGridView? - PullRequest
2 голосов
/ 16 марта 2011

Я использую AQGridView для своего проекта.Проблема, с которой я сталкиваюсь, заключается в том, что я не могу включить режим редактирования моего gridView.Я хочу, чтобы каждый раз, когда нажимали кнопку редактирования, значок удаления отображался в каждой ячейке, нажмите кнопку «Редактировать еще раз», чтобы отключить этот режим редактирования.

Вот мои коды, которые не работают, кромепервая функция:

- (void) handleEditModeChange:(NSNotification * ) note  
{   
    if(self.gridView.isEditing)
    {
        [self.gridView setEditing:NO animated:YES];
                NSLog(@"gridView edit mode");
    }
    else 
    {

        [self.gridView  setEditing:YES animated:YES];
        NSLog(@"gridView NOT edit mode");
    }

}


- (UITableViewCellEditingStyle)gridView:(AQGridView *) aGridView  editingStyleForRowAtIndex:(NSUInteger) index {
    NSLog(@"editing style");

    // Detemine if it's in editing mode
    if(self.gridView.isEditing) {
        return UITableViewCellEditingStyleDelete;
    }
    return UITableViewCellEditingStyleNone;
}


- (void) gridView:(AQGridView *) aGridView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle  
    forRowAtIndex:(NSUInteger) index {

    NSLog(@"editing");
}

- (BOOL)gridView:(AQGridView *) aGridView canEditRowAtIndex:(NSUInteger) index {
    NSLog(@"canEditRowAtIndex");
    return YES;
}

Эти коды находятся в контроллере представления, который уже соответствует AQGridViewDelegate, AQGridViewDataSource.

Первая функция выше работает нормально, но вторая функция не вызывается для некоторыхпричина.

Функция источника данных, подобная приведенной ниже, работает нормально.

- (AQGridViewCell *) gridView: (AQGridView *) aGridView cellForItemAtIndex: (NSUInteger) index;

Я новичок в этом.Могут ли некоторые люди сказать мне, если это возможно, или я делаю что-то не так?

Любое предложение, которое я ценю.

1 Ответ

5 голосов
/ 20 мая 2011

AQGridView не поддерживает функции редактирования. Если вы хотите обработать удаление ячеек в знакомых кнопках редактирования таблицы, то вы должны сделать это самостоятельно. Поместите скрытую кнопку удаления на каждую ячейку альбома и, когда вы нажмете пользовательскую кнопку «Редактировать», сделайте ее видимой. При нажатии удалить:

[gridArray removeObjectAtIndex:[albumCell displayIndex]];
NSIndexSet* set = [NSIndexSet indexSetWithIndex:[albumCell displayIndex]]; 
[gridView beginUpdates];    
[gridView deleteItemsAtIndices:set  withAnimation:AQGridViewItemAnimationFade];
[gridView endUpdates];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...