2013-10-08 76 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 *。 float version = [[[[UIDevice currentDevice] systemVersion] floatValue]; (版本> = 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]爲YES,似乎這個問題實際上是在價值... 我也會檢查委託在的tableview的..

如果不是這個或那個,讓我們知道...我會刪除這個答案...

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

我已經嘗試過這樣的事情,但沒有改變任何東西。當我使用另一種accessorytype時,它可以工作 – wvp

22

我解決了這個問題,改變的UITableView

0123的色調顏色

我改變的uitable的tintcolot通過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];