Đây là trên iPhone 0S 2.0. Câu trả lời cho 2.1 cũng tốt, mặc dù tôi không biết về bất kỳ sự khác biệt nào liên quan đến các bảng.
Cảm giác như có thể lấy văn bản để bọc mà không cần tạo một ô tùy chỉnh, vì một mặc định UITableViewCell
chứa một UILabel
. Tôi biết tôi có thể làm cho nó hoạt động nếu tôi tạo một ô tùy chỉnh, nhưng đó không phải là điều tôi đang cố gắng đạt được - tôi muốn hiểu tại sao cách tiếp cận hiện tại của tôi không hiệu quả.
Tôi đã nhận ra rằng nhãn được tạo theo yêu cầu (vì ô hỗ trợ truy cập văn bản và hình ảnh, do đó, nó không tạo chế độ xem dữ liệu cho đến khi cần thiết), vì vậy nếu tôi làm điều gì đó như thế này:
cell.text = @""; // create the label
UILabel* label = (UILabel*)[[cell.contentView subviews] objectAtIndex:0];
sau đó tôi nhận được một nhãn hợp lệ, nhưng cài đặt numberOfLines
trên đó (và lineBreakMode) không hoạt động - Tôi vẫn nhận được văn bản một dòng. Có rất nhiều chiều cao UILabel
cho văn bản hiển thị - Tôi chỉ trả về một giá trị lớn cho chiều cao trong heightForRowAtIndexPath
.