2013-10-08 5 views
6

У меня возникла проблема с аксессуаром Checkmark в моей камере. Когда я использую что-то другое, оно работает, но не с аксессуаром Checkmark.UITableViewCellAccessoryCheckmark не отображается в iOS 7

Он отлично работает в iOS 6, но не на iOS 7. Когда мне не хватает?

(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:EVENT_SELECTION_CELL_IDENTIFIER forIndexPath:indexPath]; 
    Event *event = [self.fetchedResultsController objectAtIndexPath:indexPath]; 
    cell.textLabel.text = event.name; 
    cell.selectionStyle = UITableViewCellSelectionStyleNone; 
    if ([event.current boolValue]) { 
     cell.accessoryType = UITableViewCellAccessoryCheckmark; 
    } else { 
     cell.accessoryType = UITableViewCellAccessoryNone; 
    } 
    return cell; 
} 
+1

Они изменили значения по умолчанию в ios7. :) Ячейка имеет цвет фона по умолчанию при выборе. В iOS 7 цвет выделения больше не синий. Вместо этого используйте * UITableViewCellSelectionStyleDefault *. версия с плавающей точкой = [[[UIDevice currentDevice] systemVersion] floatValue]; if (версия> = 7.0) { cell.selectionStyle = UITableViewCellSelectionStyleDefault; } else { cell.selectionStyle = UITableViewCellSelectionStyleNone; } –

+0

У меня такая же проблема. См. Мой вопрос здесь: http://stackoverflow.com/questions/19249389/checkmark-wont-show-in-tableviewcell-on-ios7/19418537 – audience

ответ

1

Так как проверка реальности, так как ваш код кажется нормально вы можете изменить ваш [event.current boolValue] Да, кажется, что проблема на самом деле в значении ... я также проверить делегат из Tableview ..

если не тот или иной, дайте нам знать ... я буду удалять этот ответ ...

if (YES) { 
//.. 
} 
+0

Я уже пробовал такие вещи, но это ничего не меняло. Когда я использую другой аксессуар, он работает – wvp

22

Я решил это вопросы, изменяя оттенок цвета UITableView

Я изменил tintcolot из uitable по InterfaceBuilder в цвет по умолчанию

или

TableView.tintColor = [UIColor blackColor]; 
+0

Это решение. Следует принять – giuseppe

2

В случае, если это может помочь кому-то .... для меня, устанавливая цвет TableView оттенок не работал, но установив сотовый оттенок цвета в cellForRowAtIndexPath сделал работу:

cell.tintColor = [UIColor grayColor]; 
1

чтобы получить синюю метку назад (по аналогии с iOS6), вы можете использовать:

cell.tintColor = [UIColor colorWithRed:(0.0/255.0) green:(122.0/255.0) blue:(255.0/255.0) alpha:1.0]; 
Смежные вопросы