Перезагрузить UITableView условно на основе SegmentedControl - PullRequest
0 голосов
/ 24 октября 2010

Я бы хотел перезагрузить табличное представление условно на основе значения сегментированного элемента управления при нажатии кнопки.

Так что в моем методе buttonTapped у меня есть этот код, который случайным образом выбирает элемент массива.В блоке else я хотел бы удалить выбранный элемент из массива, чтобы предотвратить повторный выбор этого же элемента, в настоящее время я удаляю его из массива ...

Но мне нужна возможность возвратаприложение до состояния до нажатия кнопки, возможно, сделав -mutableCopy из массива и затем удалив из него элемент.

Какие потенциальные варианты мне нужно указать, что элемент не может быть выбран снова?Серым цветом?Изменение цвета?Удалить строку?

    if (selectionControl.selectedSegmentIndex == 0) {
        int r = arc4random() % [[[APP_DELEGATE itemsDictionary] objectForKey:category] count];
        NSLog(@"%i",[[[APP_DELEGATE itemsDictionary] objectForKey:category] objectAtIndex:r]);
    } else {
        //copyOfArray = [APP_DELEGATE.....]mutableCopy]; // Maybe?
        int r = arc4random() % [[[APP_DELEGATE itemsDictionary] objectForKey:category] count];
        NSLog(@"%i",[[[APP_DELEGATE itemsDictionary] objectForKey:category] objectAtIndex:r]);
    }
    [[[APP_DELEGATE itemsDictionary] objectForKey:category] removeObjectAtIndex:r];


    //[copyOfArray removeObjectAtIndex:r]; // Maybe?
    [self.tableView reloadData];
}

В каждом из методов tableView мне нужно проверить состояние selectionControl, прежде чем возвращать значение из APP_DELEGATE или копии.

Спасибо.

1 Ответ

0 голосов
/ 25 октября 2010

Я думаю, что я бы сделал, чтобы получить доступ к элементу "textLabel" UITableCellView и установить цвет текста на серый.

Вы можете реализовать им tableView: willSelectRowAtIndexPath: вернуть NIL, когда эта строканажал - что сделает так, что строка на самом деле не может быть выбран.

...