2011-01-28 42 views
8

Tôi đã thử gần như mọi thứ, nhưng tôi dường như không thể di chuyển thuộc tính cell.textLabel xuống một chút. Tôi đã đính kèm một ảnh chụp màn hình dưới đây và tôi đã thử gần như tất cả mọi thứ tôi có thể tìm thấy.Làm cách nào để thay đổi khung textLabel của ô?

Tôi đã thử thay đổi thuộc tính .frame trực tiếp, cố gắng sửa đổi nếu sử dụng bảng "- (void) tableView: (UITableView *) tableView willDisplayCell" method ".Tôi cũng đã cố gắng phân bổ nhãn tùy chỉnh. có thể di chuyển nhãn tùy chỉnh, nhưng nó sẽ không đi vào dòng riêng biệt như textLabel gốc. tôi chỉ cần di chuyển các nhãn dòng đa hình một chút xuống.

Any help is appreciated!

enter image description here

Trả lời

16

Cách duy nhất để thực hiện việc này là sử dụng lớp con UITableViewCell và ghi đè -layoutSubviews. Trong phương pháp này, bạn sẽ muốn gọi [super layoutSubviews] và sau đó thực hiện bất kỳ chỉnh sửa khung nào mà bạn muốn gắn nhãn.

1

Tôi đã kết thúc việc thêm \ n vào đầu chuỗi. Thật không may tôi không thể có được bất cứ điều gì khác để làm việc.

21

override layoutSubviews cho UITableViewCell của bạn ...

- (void)layoutSubviews { 
    [super layoutSubviews]; 

    CGSize size = self.bounds.size; 
    CGRect frame = CGRectMake(4.0f, 4.0f, size.width, size.height); 
    self.textLabel.frame = frame; 
    self.textLabel.contentMode = UIViewContentModeScaleAspectFit; 
} 

hoặc bạn chỉ có thể làm cho đối tượng UILabel của riêng bạn, và thêm nó vào cell.contentView như là một subview.

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(4, 4, 30, 30)]; 
[cell.contentView addSubview:label]; 
[label release]; 
0
- (void)layoutSubviews { 
    [super layoutSubviews]; 

    CGSize size = self.bounds.size; 
    CGRect frame = CGRectMake(4.0f, 4.0f, size.width, size.height); 
    self.textLabel.frame = frame; 

    self.textLabel.textAlignment = NSTextAlignmentCenter; 
} 
+1

Ông có thể giải thích những gì mã của bạn không, và tại sao nó trả lời cho câu hỏi? – Mel

Các vấn đề liên quan