Должен изменить цвет выбора табличного представления

Как кто-то еще указал, рекомендуется не представить Список публично, и FxCop будет хныкать, если Вы сделаете так. Это включает наследование от Списка как в:

public MyTypeCollection : List<MyType>

В большинстве случаев общедоступные API представят IList (или ICollection или IEnumerable) как соответствующий.

В случаях, где Вы хотите свой собственный набор, можно сохранить FxCop тихим путем наследования Набору вместо Списка.

24
задан Charles Sprayberry 28 January 2012 в 23:26
поделиться

3 ответа

Лучше всего это сделать следующим образом:

// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *CellIdentifier = @"myCellId";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
        UIView *v = [[[UIView alloc] init] autorelease];
        v.backgroundColor = [UIColor redColor];
        cell.selectedBackgroundView = v;
    }
    // Set up the cell...
    cell.textLabel.text = @"foo";
    return cell;
}

Важной частью для вас является инструкция cell.selectedBackgroundView = v; . Вы можете заменить здесь самый простой вид 'v' любым, который вам нравится.

62
ответ дан 28 November 2019 в 22:25
поделиться

Я не думаю, что вы можете использовать собственный цвет. Однако вы можете использовать следующее свойство UITableViewCell

@property(nonatomic) UITableViewCellSelectionStyle selectionStyle

. Стиль выбора - это константа backgroundView, которая определяет цвет ячейки при ее выборе. Значение по умолчанию - UITableViewCellSelectionStyleBlue. Начиная с

typedef enum {
   UITableViewCellSelectionStyleNone,
   UITableViewCellSelectionStyleBlue,
   UITableViewCellSelectionStyleGray
} UITableViewCellSelectionStyle;

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

3
ответ дан 28 November 2019 в 22:25
поделиться

Другой способ сделать это - переместить ячейку в новом представлении с любым желаемым цветом и около 50% непрозрачности. Вы перемещаете это представление в ячейку, когда получаете вызов -setSelected: animated:. Когда я говорю «двигаться», у вас всегда может быть вид на верхнюю часть вашей ячейки, но просто выключите и включите скрытый бит по мере необходимости.

0
ответ дан 28 November 2019 в 22:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: