0

我正在开发一个应用程序,我必须在我的时钟图像中显示选定的时间。描述:- 我到底想说什么,我有一个圆圈的图像。现在根据选择的时间,我希望该部分在我的圆形图像上填充一些其他颜色。请帮助我这样做。我被困在这里。

我附上了一张图片,它将更多地描述我真正想做的事情。我也试过用饼图来做,但区域显示没有给出适当的时间。请帮帮我。

在此处输入图像描述

在此图像中,它显示时间 1:am 到 6:am 任何帮助将不胜感激。

4

1 回答 1

2

对于您想要的(不使用 coreplot)。将此代码放在相关的 drawRect/drawInContext 方法中。

不在 mac 上,所以不能 100% 确定它会编译。应该很近。也可能会在 90 岁之前出局

#include <math.h>

CGFloat radius = 100;
//CGFloat pi = 3.1415927; //comes for free in math.h

//draw underlying circle;
UIBezierPath *basecircle = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0,0,radius*2,radius*2)];
[[UIColor blackColor] set];
[basecircle fill];

CGFloat starttime = pi/6; //1 pm = 1/6 rad
GFloat  endtime = pi;  //6 pm = 1 rad

//draw arc
CGPoint center = CGPointMake(radius,radius);
UIBezier *arc = [UIBezierPath bezierPath]; //empty path
[arc moveToPoint:center];
CGPoint next;
next.x = radius + radius * sin(starttime);
next.y = radius + radius * cos(starttime);
[arc moveToPoint:next]; //go one end of arc
[arc addArcWithCenter:center radius:radius startAngle:starttime endAngle:endtime clockwise:YES]; //add the arc
[arc moveToPoint:center]; //back to center

[[UIColor yellowColor] set];
[arc fill];
于 2011-06-30T11:48:48.793 回答