2012-12-02 7 views
14

Ich habe ein UILabel einer ContentView einer benutzerdefinierten Zelle hinzugefügt. Ich traf auf einen seltsamen Nebeneffekt. Am rechten Rand befindet sich eine graue Kante. Ich weiß nicht warum. Ich habe gerade ein gewöhnliches UILabel hinzugefügt, ich habe nichts anderes gemacht.Wie kann ich UILabels grauen Rand auf der rechten Seite entfernen?

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

Antwort

8

Ich weiß nicht den Grund, aber die Lösung ist von diesem grauen Rande der Hintergrundfarbe der Zelle zu Clear setzen, um loszuwerden.

label.backgroundColor = [UIColor clearColor];

+0

Rahmen Etikettenfarben als klaren Willen Leistung verschlechtern. – Intentss

21

Ich weiß, das ist eine alte Frage, aber ich bin gerade auf genau dieses Problem gestoßen, also dachte ich, ich könnte jemand anderem beim Suchen helfen.

Für mich war das Problem, dass ich Floating-Nummern in meinen Frames hatte. Die feste folgenden es für mich:

CGRectIntegral(myLabel.frame) 
+1

Danke für die Floating-Nummer Spitze. Ich wollte meine Bildgröße nicht ändern, also habe ich eine UIView unter dem UILabel erstellt. Ich änderte dann die 'backgroundColor' auf der' UIView' und behielt die 'UILabel'' clearColor' – Jon

+0

Danke! Ich hatte das gleiche Problem mit UILabels in einem UIPageViewController. – DivideByZer0

+0

Bevorzugen Sie diese +1 – Kjuly

3

Zunächst einmal müssen Sie festlegen:

[label setBackgroundColor:[UIColor clearColor]]; 

Als nächstes stellen Farbe, die Sie wünschen:

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