Tôi đang sử dụng UITableViewCell với UITableViewCellStyleSubtitle. Tuy nhiên, vì hình nền tôi đang sử dụng cho ô, tôi không thích vị trí của detailTextLabel. Tôi muốn di chuyển nó và thay đổi kích thước nó trong tế bào, nhưng không có gì tôi cố gắng dường như làm việc.Điều chỉnh vị trí của nhãn trong UITableViewCell
CGRect currRect = cell.detailTextLabel.frame;
cell.detailTextLabel.frame = CGRectMake(currRect.origin.x + 20, currRect.origin.y, currRect.size.width - 40, currRect.size.height);
Tôi đã thử đặt mã này vào cả hai tableView: cellForRowAtIndexPath và tableView: phương pháp forRowAtIndexPath, nhưng không phải công trình: willDisplayCell. Nhãn chỉ đơn giản là ở vị trí của nó và cùng kích thước.
Điều chỉnh các thuộc tính khác của nhãn (textAlignment, backgroundColor và, tất nhiên, chính văn bản) hoạt động chính xác.
Làm thế nào để tôi có được detailTextLabel để di chuyển đến nơi tôi cần?
Trong trường hợp vấn đề này (mặc dù tôi không thấy lý do tại sao nó nên), ô này cũng có thuộc tính imageView.image và backgroundImage được đặt. Cả hai hình ảnh đều hiển thị chính xác.
Cảm ơn bạn. Tôi biết bạn có thể làm điều này rồi, nhưng tôi không biết đó là phương pháp layoutSubviews phải được ghi đè. – executor21
Đây là lời khuyên tuyệt vời. Tuy nhiên, tôi có vấn đề này vẫn còn ở đâu, trong khi tôi có thể tùy chỉnh kích thước nhãn, ví dụ, tôi không thể có được nó để wordwrap và hiển thị nhiều dòng, tức là: \t self.textLabel.numberOfLines = 2; \t self.textLabel.lineBreakMode = UILineBreakModeWordWrap; – Joey
Hành vi của thuộc tính .textLabel phải giống hệt với bất kỳ nhãn UILabel nào khác, vì vậy có lẽ bạn không cung cấp đủ không gian theo chiều dọc? –