我希望在UITableView行显示徽章信息,如下图所示
我尝试使用以下代码:
UILabel *labelCell1 =[ [UILabel alloc]init];
labelCell1.frame = CGRectMake(160.9f,10.0f,60.0f,30.0f) ;
[labelCell1 setBackgroundColor:[UIColor
colorWithPatternImage:[[UIImage imageNamed:@"block.png"]
stretchableImageWithLeftCapWidth:0.0 topCapHeight:0.0]]];
但我无法得到上图所示的圆形块结果。
答案 0 :(得分:6)
答案 1 :(得分:2)
您可以使用图层来确保您的标签具有圆角,如示例所示。您还需要根据文本的宽度调整标签的矩形:
// set the text on the badge
labelCell1.text=[NSString stringWithFormat:@"%d", value];
// set the rounded corners on the layer
CALayer* layer=labelCell1.layer;
layer.masksToBounds = YES;
layer.cornerRadius = 9.0;
// adjust the width of the badge rect based on the text width
CGFloat textWidth=[labelCell1.text sizeWithFont:labelCell1.font].width+12;
labelCell1.frame=CGRectMake(
labelCell1.frame.origin.x + labelCell1.frame.size.width - textWidth,
labelCell1.frame.origin.y,
textWidth,
labelCell1.frame.size.height);
答案 2 :(得分:1)
您可以使用Link
中的代码获得以下输出