我有一个坐标数组,x和y喜欢
NSArray * objectCoords = [NSArray arrayWithObjects: @ “{{116371},{85,42}}”, @ “{{173,43},{85,42}}”, @ “{{145200},{85,42}}”,
我正在尝试使用drawRect.like绘制一个圆圈:
-(void)drawRect:(CGRect)rect
{
// [super drawRect:rect]; 144,179,130
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(context, 10.0);
CGContextSetStrokeColorWithColor(context,[UIColor grayColor].CGColor);
int x=10;
int y=10;
CGRect rectangle0;
for (int i=0; i<=10; i++) {
rectangle0 = CGRectMake(x,y,10,10);//just to draw
x=x+20;
y=y+23;
NSLog(@"x: %d and y: %d", x,y);
CGContextAddEllipseInRect(context, rectangle0);
}
}
我不确定,如何将这些数组坐标放在CGRect中以在这些特定坐标处绘制圆圈。
请指导。
由于
答案 0 :(得分:4)
您可以使用CGRectFromString(string)
从字符串表示创建CGRect对象。这将采用{{x,y},{w, h}}
格式的字符串(谢天谢地,你的字符串是!)
例如:
NSArray *objectCoords = [NSArray arrayWithObjects: @"{{116,371},{85,42}}", @"{{173,43},{85,42}}", @"{{145,200},{85,42}}",
for (NSString* objectCoord in objectCoords) {
CGRect coord = CGRectFromString(objectCoord);
// Draw using your coord
}
相反,如果你有一个CGRect,你可以通过NSStringFromCGRect(rect)
获得一个字符串表示
答案 1 :(得分:2)
使用CGRectFromString
将此类NSString
转换为CGRect
s