Tôi đang sử dụng UITableview tĩnh, được thiết lập trong bảng phân cảnh. Đối với một số ô (Style = Right detail) tôi đặt detailTextlabel.text trong viewWillAppear như sau:detailTextLabel không hiển thị ban đầu
self.recentProductsCell.detailTextLabel.text = description;
Đối với ô này nhãn không xuất hiện. Nếu tôi NSLog văn bản nó cho thấy là OK. Tôi đã kiểm tra rằng detailTextLabel không bị ẩn. Tôi không thay đổi bất kỳ thuộc tính nào khác trong bảng phân cảnh. Ô có phụ kiện chi tiếtViết rõ ràng, nhưng đặt nó vào cái gì đó khác không có tác dụng.
Sau đó, điều lạ: Nếu tôi chạy và detailTextlabel không hiển thị, tôi chọn hàng bằng cách chạm vào nó và di chuyển ngón tay của tôi. Từ đó detailTextLabel hiển thị! Ngay cả khi ẩn và chỉnh sửa lại chế độ xem, nhãn vẫn hiển thị. Đặt lại và thiết lập nó trong mã tuy nhiên, làm cho nhãn biến mất một lần nữa.
Tôi có thể làm điều gì sai, hoặc đây có phải là lỗi không?
Đã chỉnh sửa: Đã đăng ký cả 5.0 và 5.1, cùng một hành vi. Tôi đã tìm thấy giải pháp thay thế xấu bằng cách chọn và bỏ chọn hàng này trong mã trong chế độ xemWillAppear. Vì vậy, tôi đã thêm:
[self.tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:3 inSection:0] animated:NO scrollPosition:UITableViewScrollPositionNone];
[self.tableView deselectRowAtIndexPath: [NSIndexPath indexPathForRow:3 inSection:0] animated:NO];
Nó hoạt động, nhưng tôi có thể thấy hàng đang được chọn và bỏ chọn. Vì vậy, tôi cũng đã thay đổi selectionStyle, nhưng bây giờ hàng này nhấp nháy khi xem được hiển thị.
Nhận xét bổ sung: Trong cùng một chế độ xemLàm mới, tôi đặt chi tiếtLabel của các ô tĩnh khác và chúng hiển thị tốt.
Bạn có thể vui lòng đăng mã có liên quan (nếu có) để tạo và tái sử dụng ô? Tôi vẫn còn có một vài lý thuyết về lý do tại sao hành vi này xảy ra nhưng tôi cần phải xem thêm mã để làm móng nó xuống. – Sam
Xin lỗi cho bây giờ. Có lẽ sau những ngày lễ Phục sinh, kỳ nghỉ nhỏ sắp tới. Tôi nghĩ nó lạ đến nỗi tôi muốn cố gắng tái tạo trong một dự án xây dựng từ đầu và gửi một báo cáo lỗi cho Apple. Chỉ dành cho trải nghiệm. Nhưng nó sẽ mất một thời gian. Có lẽ thứ ba. Cảm ơn bạn đã quan tâm. – Bjinse