2015-06-04 4 views
1

Я хочу нарисовать круг с текстом внутри. Можно отображать текст. Любая помощь?Использование вопроса цвета заливки CAShapeLayer

Ниже приведено изображение. для ожидаемого поведения.

expected behaviour

Ниже приведен код для справки:

UILabel *lblTitle = [[UILabel alloc]initWithFrame:CGRectMake(100, 40, 40, 40)]; 
lblTitle.text = @"Me"; 
lblTitle.textColor = [UIColor blackColor]; 

lblTitle.font = [UIFont fontWithName:@"HelveticaNeueLight" size:10.0] ; 

lblTitle.textAlignment = NSTextAlignmentCenter; 
[view addSubview:lblTitle]; 

CAShapeLayer *circleLayer = [CAShapeLayer layer]; 
circleLayer.path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, 40, 40)].CGPath; 
circleLayer.fillColor = [UIColor clearColor].CGColor; 
circleLayer.fillColor = [UIColor colorWithRed:56.0/255.0 green:212.0/255.0 blue:203.0/255.0 alpha:1.0f].CGColor; 
circleLayer.strokeColor = [UIColor blackColor].CGColor; 
circleLayer.lineWidth = 1; 
[lblTitle.layer addSublayer:circleLayer]; 
+3

Вы также можете попробовать с помощью установочный уголокRadius 'UILabel' – Sujay

+0

Вы добавляете слой формы поверх метки, а не наоборот. – stefandouganhyde

ответ

2

Вы можете установка cornerRadius из UILabel, как @Sujay сказал:

UILabel *lblTitle = [[UILabel alloc]initWithFrame:CGRectMake(100, 80, 40, 40)]; 
lblTitle.text = @"Me"; 
lblTitle.textColor = [UIColor blackColor]; 

lblTitle.layer.borderWidth = 1; 
lblTitle.layer.borderColor = [UIColor blackColor].CGColor; 
lblTitle.layer.cornerRadius = lblTitle.bounds.size.height/2; 
lblTitle.layer.masksToBounds = YES; 
lblTitle.backgroundColor = [UIColor colorWithRed:56.0/255.0 green:212.0/255.0 blue:203.0/255.0 alpha:1.0f]; 

lblTitle.font = [UIFont fontWithName:@"HelveticaNeueLight" size:10.0] ; 

lblTitle.textAlignment = NSTextAlignmentCenter; 
[self.view addSubview:lblTitle]; 

enter image description here

+0

отлично работает ... thank u – user2931321

+0

Возможно ли использование CAShapeLayer? – user2931321

+0

Благодарим вас, @Bannings за предоставление кредита, вы могли бы также поддержать мой комментарий. – Sujay

Смежные вопросы