2013-10-08 22 views
6

Tôi gặp sự cố khi hiển thị phụ kiện Dấu kiểm trong ô của mình. Khi tôi sử dụng một loại phụ kiện khác, nó hoạt động nhưng không sử dụng phụ kiện Dấu kiểm.UITableViewCellAccessoryCheckmark không hiển thị trong iOS 7

Nó hoạt động hoàn hảo trong iOS 6 nhưng không hoạt động trên iOS 7. Khi nào tôi bị thiếu?

(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

Họ đã thay đổi mặc định trong ios7. :) Ô có màu nền mặc định khi được chọn. Trong iOS 7, màu lựa chọn không còn màu xanh. Thay vào đó hãy sử dụng * UITableViewCellSelectionStyleDefault *. phiên bản float = [[[UIDevice currentDevice] systemVersion] floatValue]; nếu (phiên bản> = 7.0) { cell.selectionStyle = UITableViewCellSelectionStyleDefault; } else { cell.selectionStyle = UITableViewCellSelectionStyleNone; } –

+0

Tôi có cùng một vấn đề. Xem câu hỏi của tôi ở đây: http://stackoverflow.com/questions/19249389/checkmark-wont-show-in-tableviewcell-on-ios7/19418537 – audience

Trả lời

1

Cũng như kiểm tra thực tế kể từ khi mã của bạn có vẻ ok bạn có thể thay đổi của bạn [event.current boolValue] để YES, có vẻ như vấn đề này thực sự là giá trị ... tôi cũng sẽ kiểm tra các đại biểu của tableview ..

nếu không muốn nói này hay cái kia, cho chúng tôi biết ... tôi sẽ xóa câu trả lời này ...

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

Tôi đã thử những thứ như thế nhưng điều đó không thay đổi gì cả. Khi tôi sử dụng một loại phụ kiện khác, nó hoạt động – wvp

22

tôi giải quyết thay đổi màu sắc thái khác nhau của UITableView

vấn đề này

Tôi đã thay đổi tintcolot của uitable bởi InterfaceBuilder để mặc định màu

hoặc

TableView.tintColor = [UIColor blackColor]; 
+0

Đây là giải pháp. Nên được chấp nhận – giuseppe

2

Trong trường hợp này có thể giúp ai đó .... đối với tôi, thiết lập màu tableview màu không hiệu quả, nhưng việc thiết lập màu tế bào màu trong cellForRowAtIndexPath làm việc:

cell.tintColor = [UIColor grayColor]; 
1

để có được dấu kiểm màu xanh trở lại (tương tự như iOS6), bạn có thể sử dụng:

cell.tintColor = [UIColor colorWithRed:(0.0/255.0) green:(122.0/255.0) blue:(255.0/255.0) alpha:1.0]; 
Các vấn đề liên quan