我将如何动画iPhone上的一个圆圈,使电弧开始于“0度”和“360度”结束?
先谢谢了,星期六
我将如何动画iPhone上的一个圆圈,使电弧开始于“0度”和“360度”结束?
先谢谢了,星期六
你需要阅读的石英2D编程指南对弧段 。 (我假设你正在创建与可可触摸API,而不是一个Web应用程序的应用程序。)你还需要知道如何建立一个自定义动画。 您必须创建一个自定义的UIView或CALayer的做图,并创建一个属性(弧度),可与CAAnimation对象是动画。 或者,你可以控制使用一个NSTimer,而不是动画。 你很可能有这些类(及其他)一抓拉这一关。
在这里,你可以找到关于圆动画伟大的示例代码:
http://www.iphonedevsdk.com/forum/iphone-sdk-development/24152-draw-animated-circle-iphone-using-core-graphics.html
你应该阅读Felixyz提供的文件,如果你想如何动画圈为例看看在MBProgressHUD
这个链接的链接文字 。 加载器有两种模式一用一UIViewActivityIndicator
和进度指示器我认为最后一种模式是你想要的(这是动画从0到360个辈分填充圆圈)。
休耕代码是从动画大圈执行复制/粘贴:
- (void)drawRect:(CGRect)rect {
CGRect allRect = self.bounds;
CGRect circleRect = CGRectMake(allRect.origin.x + 2, allRect.origin.y + 2,
allRect.size.width - 4, allRect.size.height - 4);
CGContextRef context = UIGraphicsGetCurrentContext();
// Draw background
CGContextSetRGBStrokeColor(context, 1.0, 1.0, 1.0, 1.0); // white
CGContextSetRGBFillColor(context, 1.0, 1.0, 1.0, 0.1); // translucent white
CGContextSetLineWidth(context, 2.0);
CGContextFillEllipseInRect(context, circleRect);
CGContextStrokeEllipseInRect(context, circleRect);
// Draw progress
float x = (allRect.size.width / 2);
float y = (allRect.size.height / 2);
CGContextSetRGBFillColor(context, 1.0, 1.0, 1.0, 1.0); // white
CGContextMoveToPoint(context, x, y);
CGContextAddArc(context, x, y, (allRect.size.width - 4) / 2, -(PI / 2),
(self.progress * 2 * PI) - PI / 2, 0);
CGContextClosePath(context); CGContextFillPath(context);
}
但首先阅读文件! 希望能帮助到你