2012-12-02 8 views
14

Dodałem UILabel do contentView niestandardowej komórki. Spotkałem się z dziwnym efektem ubocznym. Po prawej stronie jest szara krawędź. Nie wiem dlaczego. Właśnie dodałem zwykłą UILabel, nie zrobiłem nic więcej.Jak mogę usunąć szarą ramkę UILabel po prawej stronie?

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

Odpowiedz

8

Nie znam przyczyny, ale rozwiązanie jest, aby pozbyć się tej szarej krawędzi, aby ustawić kolor tła komórki do clearColor.

label.backgroundColor = [UIColor clearColor];

+0

Ustawienie oznakowania kolorach Clear obniżać wydajność. – Intentss

21

Wiem, że to stare pytanie, ale właśnie natknąłem się na ten sam problem, więc pomyślałem, że mogę pomóc komuś innemu.

Dla mnie problemem było to, że miałem pływające liczby w moich ramkach. Poniżej ustalone to dla mnie:

CGRectIntegral(myLabel.frame) 
+1

Dzięki za końcówkę numeru pływającego. Nie chciałem zmieniać rozmiaru klatki, więc stworzyłem UIView pod 'UILabel'. Następnie zmieniłem 'backgroundColor' na' UIView' i zachowałem 'UILabel'' clearColor' – Jon

+0

Dzięki! Miałem ten sam problem z UILabels w UIPageViewController. – DivideByZer0

+0

Wolę ten +1 – Kjuly

3

Przede wszystkim, trzeba ustawić:

[label setBackgroundColor:[UIColor clearColor]]; 

Następnie ustawić kolor, który chcesz:

[label layer] setBackgroundColor:[UIColor redColor].CGColor]; 
Powiązane problemy