Iphone iOS-如何绘制包含数字/字符的圆?
我想创建一个UIView,它将显示一个带有数字或字符的彩色圆圈。我看到过创建圆的示例,但如何实现这一点 我想在屏幕上放置多个视图,并用线连接它们Iphone iOS-如何绘制包含数字/字符的圆?,iphone,objective-c,ios,cocoa,Iphone,Objective C,Ios,Cocoa,我想创建一个UIView,它将显示一个带有数字或字符的彩色圆圈。我看到过创建圆的示例,但如何实现这一点 我想在屏幕上放置多个视图,并用线连接它们 有什么建议吗?如果你已经知道如何画一个圆,那么你已经解决了一半:)假设这个圆是在一个名为circleView的ui视图中画的 // Swift, iOS8 var letterLabel = UILabel(frame: CGRect(x: 50, y: 0, width: 100, height: 100)) letterLabel.layer.co
有什么建议吗?如果你已经知道如何画一个圆,那么你已经解决了一半:)假设这个圆是在一个名为
circleView
的ui视图中画的
// Swift, iOS8
var letterLabel = UILabel(frame: CGRect(x: 50, y: 0, width: 100, height: 100))
letterLabel.layer.cornerRadius = 50
letterLabel.textAlignment = NSTextAlignment.Center
letterLabel.layer.borderWidth = 10
letterLabel.layer.backgroundColor = UIColor.blueColor().CGColor
letterLabel.font = UIFont(name: "Hoefler Text", size:75.0)
letterLabel.text = "A"
现在,您需要创建一个UILabel
来绘制字母
UILabel* circleLabel = [[UILabel alloc] init];
[circleLabel setText:@"letter goes here"];
现在,您希望将标签放在圆圈视图
的顶部,因此将其添加为子视图:
[circleView addSubview:circleLabel];
此时,根据circleView
的大小和circleLabel
的字体大小,标签可能在圆圈的中心,也可能不在圆圈的中心。使用circleLabel
上的setFrame
功能调整其在circleView
中的位置
// Swift, iOS8
var letterLabel = UILabel(frame: CGRect(x: 50, y: 0, width: 100, height: 100))
letterLabel.layer.cornerRadius = 50
letterLabel.textAlignment = NSTextAlignment.Center
letterLabel.layer.borderWidth = 10
letterLabel.layer.backgroundColor = UIColor.blueColor().CGColor
letterLabel.font = UIFont(name: "Hoefler Text", size:75.0)
letterLabel.text = "A"
您是说数字就在圆圈内,还是说数字实际上位于圆弧上?如果您使用的是drawRect,则可以使用NSString的drawAtPoint:withFont:和CGContextRotateCTM以直角绘制。类似这样的数字将位于圆内,主要位于圆的中心