我有以下代码,我想使其更加智能/数学和灵活。我想将我选择的文本居中放置在圆圈内,我也想使圆圈的半径取决于圆圈内的文本大小(字符串有多少个字符)。有什么建议我该怎么做?

//Add text
UILabel *yourLabel = [[UILabel alloc] initWithFrame:CGRectMake(location.x, location.y, 300, 20)];
[yourLabel setTextColor:[UIColor blackColor]];
[yourLabel setBackgroundColor:[UIColor clearColor]];
[yourLabel setFont:[UIFont fontWithName: @"Trebuchet MS" size: 14.0f]];
[yourLabel setText:@"Jack"];
[self.view addSubview:yourLabel];

// create new CAShapeLayer
CAShapeLayer *shapeLayer = [CAShapeLayer layer];
shapeLayer.path = [[self makeCircleAtLocation:location radius:50.0] CGPath];
shapeLayer.strokeColor = [[UIColor redColor] CGColor];
shapeLayer.fillColor = nil;
shapeLayer.lineWidth = 3.0;

最佳答案

如果您想知道文本的大小,只需在NSString对象中使用sizeWithFont:方法。

NSString *someString = @"some string";
CGSize stringBounds = [someString sizeWithFont:yourLabel.font];


然后,您可以确定应该画多大的圆圈。

关于ios - 圆定位逻辑中的居中文字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21999082/

10-08 20:49