Để thiết lập một tùy chỉnh UITableViewCell sử dụng một XIB, bạn phải làm một vài điều:
- Thiết lập một IBOutlet trong tiêu đề của bạn
- Cấu hình các tế bào xem bảng trong Interface Builder
- Nạp XIB bên trong
tableView:cellForRowAtIndexPath:
- Cấu hình nó giống như bất kỳ tế bào khác
Vì vậy ... Hãy thiết lập một IBOutlet trong tệp tiêu đề.
@property (nonatomic, retain) IBOutlet UITableViewCell *dvarTorahCell;
Đừng quên tổng hợp nó bên trong tệp triển khai.
@synthesize dvarTorahCell;
Bây giờ, hãy tạo và định cấu hình ô. Bạn muốn chú ý đến các Identifier di động và IBOutlet như hình dưới đây:
Bây giờ trong mã, bạn tải lên XIB vào di động của bạn như thể hiện ở đây:
Lưu ý rằng Số nhận dạng di động trong Trình tạo giao diện khớp với mã nhận dạng được hiển thị trong mã bên dưới.
Sau đó, bạn tiếp tục và định cấu hình ô của mình như bất kỳ ô nào khác.
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if (cell == nil) {
[[NSBundle mainBundle] loadNibNamed:@"YUOnlineCell" owner:self options:nil];
cell = dvarTorahCell;
dvarTorahCell = nil;
}
//configure your cell here.
Chỉ cần lưu ý khi truy cập vào subviews, chẳng hạn như nhãn, bây giờ bạn cần phải tham khảo chúng bằng thẻ, thay vì bằng tên thuộc tính, chẳng hạn như textLabel
và detailTextLabel
.
Không biết về điều này. – Moshe
Đó là một API mới được giới thiệu với iOS5 - đã sử dụng nó kể từ ngày tôi nhìn thấy nó - làm cho cuộc sống trở nên đơn giản! Bạn thậm chí có thể nâng cao hơn với nó bằng cách phân lớp UITableViewCell và thêm các thuộc tính IBOutlet trỏ đến các điều khiển khác nhau trong ô, vì vậy bạn thậm chí không cần sử dụng ViewWithTag nữa! –
Tuyệt đối tuyệt vời! – Moshe