2012-12-02 13 views
14

Tôi đã thêm một UILabel để contentView một tế bào tùy chỉnh của. Tôi đã gặp một phản ứng phụ lạ lùng. Trên biên phải có một cạnh màu xám. Tôi không biết tại sao. Tôi chỉ cần thêm một UILabel thông thường, tôi đã không làm gì khác.Làm cách nào để xóa đường viền màu xám của UILabel ở bên phải?

UILabel *label = [[UILabel alloc] initWithFrame:CGRectZero]; 
label.text = @"value1"; 
label.textAlignment = UITextAlignmentCenter; 
[self.contentView addSubview:label]; 

- (void)layoutSubviews 
{ 
    UILabel *label = [self.contentView.subviews objectAtIndex:i]; 
    label.frame = CGRectMake(…); 
} 

enter image description here

Trả lời

8

Tôi không biết lý do, nhưng giải pháp này là để thoát khỏi rằng cạnh màu xám để thiết lập màu nền của các tế bào để clearColor.

label.backgroundColor = [UIColor clearColor];

+0

nhãn Setting màu sắc sẽ càng rõ ràng làm giảm hiệu suất. – Intentss

21

Tôi biết đây là câu hỏi cũ nhưng tôi đã gặp vấn đề chính xác này, vì vậy tôi nghĩ tôi có thể giúp người khác tìm kiếm.

Đối với tôi, vấn đề là tôi có số trôi nổi trong khung của tôi. Sau đây là cố định nó cho tôi:

CGRectIntegral(myLabel.frame) 
+1

Cảm ơn mẹo nổi số. Tôi không muốn thay đổi kích thước khung hình của mình, vì vậy tôi đã tạo một 'UIView' bên dưới' UILabel'. Sau đó tôi đã thay đổi 'backgroundColor' trên' UIView' và giữ 'UILabel'' clearColor' – Jon

+0

Cảm ơn! Tôi đã gặp vấn đề tương tự với UILabels trong một UIPageViewController. – DivideByZer0

+0

Ưu tiên +1 này – Kjuly

3

Trước hết, bạn cần phải thiết lập:

[label setBackgroundColor:[UIColor clearColor]]; 

Tiếp theo, thiết lập màu sắc mà bạn muốn:

[label layer] setBackgroundColor:[UIColor redColor].CGColor];