Hãy nói rằng tôi cóSử dụng dequeueReusableCellWithIdentifier cho tế bào tùy chỉnh
- (UITableViewCell*)tableView:(UITableView*) cellForRowAtIndexPath:(NSIndexPath*)indexPath
{
static NSString *cellID = @"Cell Identifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID];
if (!cell)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellID];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
}
else
{
return cell;
}
UILabel * nameLabel = [[UILabel alloc] initWithFrame: CGRectMake(0, 15, box.size.width, 19.0f)];
nameLabel.text = name;
[nameLabel setTextColor: [UIColor colorWithRed: 79.0f/255.0f green:79.0f/255.0f blue:79.0f/255.0f alpha:1.0f]];
[nameLabel setFont: [UIFont fontWithName: @"HelveticaNeue-Bold" size: 18.0f]];
[nameLabel setBackgroundColor: [UIColor clearColor]];
nameLabel.textAlignment = NSTextAlignmentCenter;
[cell addSubview: nameLabel];
}
gì đó sẽ làm gì?
Nếu ô không phải là nil, và giả sử bạn đang ở hàng 5, nó sẽ trả về ô cho hàng 5 với nhãn văn bản chính xác, v.v.
Về cơ bản, câu hỏi của tôi là, nếu bạn có các ô tùy chỉnh có nhãn, số lần xem lại, v.v. Bạn sử dụng cellForRowAtIndexPath
với dequeueReusableCellWithIdentifier
như thế nào?
nó cũng tương tự cho tableviewcell cho dù đó là tùy chỉnh hay không. Bạn nhận được giữ của đối tượng di động và thiết lập lại tất cả các tiểu bang của nó và sau đó thêm nội dung của bạn. Vì vậy, có, bạn sẽ phải dọn dẹp nội dung trong nhãn/hình ảnh (bằng cách đặt nó thành không) và cung cấp nội dung mới. – rydgaze
Trong mã này, không có cách nào để truy cập lại đối tượng UILabel ngoại trừ bằng cách liệt kê các bản xem trước của ô rất xấu xí. Tốt hơn nên sử dụng một lớp con của UITableViewCell có thuộc tính UILabel để nó có thể truy cập dễ dàng –