实现方案:CATextLayer
- UIButton *btn = [[UIButton alloc]initWithFrame:CGRectMake(100, 240, 80, 80)];
- btn.backgroundColor = [UIColor grayColor];
- [self.view addSubview:btn];
- _badgeLayer = [[CATextLayer alloc] init];
- _badgeLayer.backgroundColor=[UIColor yellowColor].CGColor;
- _badgeLayer.foregroundColor = [UIColor blackColor].CGColor;
- _badgeLayer.alignmentMode = kCAAlignmentCenter;
- [_badgeLayer setFrame:CGRectMake(0, 0, 18, 18)];
- _badgeLayer.position=CGPointMake(26, 0);
- _badgeLayer.wrapped = YES;
- _badgeLayer.cornerRadius = 9.0f;
- [_badgeLayer setFontSize:16];
- [_badgeLayer setString:@"4"];
- _badgeLayer.anchorPoint=CGPointZero;
- _badgeLayer.contentsScale = [[UIScreen mainScreen] scale];
- [btn.layer addSublayer:_badgeLayer];