实现方案:CATextLayer [objc] view plain copy print ? 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];