Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone iOS-如何绘制包含数字/字符的圆?_Iphone_Objective C_Ios_Cocoa - Fatal编程技术网

Iphone iOS-如何绘制包含数字/字符的圆?

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

我想创建一个UIView,它将显示一个带有数字或字符的彩色圆圈。我看到过创建圆的示例,但如何实现这一点

我想在屏幕上放置多个视图,并用线连接它们


有什么建议吗?

如果你已经知道如何画一个圆,那么你已经解决了一半:)假设这个圆是在一个名为
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以直角绘制。类似这样的数字将位于圆内,主要位于圆的中心