2010-10-23 2 views
0

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

Так что в моем методе 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 или копии.

Спасибо.

ответ

0

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

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