[ios] UILabel背景顏色滲漏到邊界



Answers

我創建了這樣的UILabel和背景顏色似乎沒有洩漏..

1)寫在你的項目的.h文件中。

UILabel *label;

2)寫在你的項目的.m文件中。

label=[[UILabel alloc]initWithFrame:CGRectMake(100, 300, 100, 100)];//Set frame of label in your viewcontroller.
[label setBackgroundColor:[UIColor redColor]];//Set background color of label.
[label setText:@"Label"];//Set text in label.
[label setTextColor:[UIColor blackColor]];//Set text color in label.
[label setTextAlignment:NSTextAlignmentCenter];//Set text alignment in label.
[label.layer setCornerRadius:50.0];//Set corner radius of label to change the shape.
[label.layer setBorderWidth:8.0f];//Set border width of label.
[label setClipsToBounds:YES];//Set its to YES for Corner radius to work.
[label.layer setBorderColor:[UIColor greenColor].CGColor];//Set Border color.
[self.view addSubview:label];//Add it to the view of your choice.
Question

我正在創建一個UILabel,使用下面的代碼設置背景顏色和圓角半徑:

self.scoreLabel.backgroundColor = [UIColor DISRed];// custom red`
self.scoreLabel.layer.masksToBounds = YES;
self.scoreLabel.layer.cornerRadius = self.scoreLabel.frame.size.width/2;
self.scoreLabel.layer.borderWidth = 8.0;
self.scoreLabel.layer.borderColor = [[UIColor DISNavy] CGColor];

然而,背景的顏色似乎正在洩漏到邊界的邊緣(見圖片)。 任何想法為什麼? 任何想法如何解決它?




我也面臨同樣的問題。 這是一個愚蠢的錯誤。 在cornerRadius情況下,我總是忘記剔clipToBounds

所以,只要在Storyboard中勾選UILabel的Clip to Bounds就可以解決我的問題。

是的,我們還需要保留下面的代碼:

label.layer.masksToBounds = true



Links