您的位置:首页 > 产品设计 > UI/UE

UIBezierPath + bezierPathWithArcCenter

2015-10-27 10:21 561 查看
UIBezierPath + bezierPathWithArcCenter:radius:startAngle:endAngle:clockwise:
Creates and returns a new UIBezierPath object initialized with an arc of a circle.

Declaration

SWIFT

convenience init(arcCenter center: CGPoint,

          radius radius: CGFloat,

      startAngle startAngle: CGFloat,

        endAngle endAngle: CGFloat,

       clockwise clockwise: Bool)

OBJECTIVE-C

+ (instancetype)bezierPathWithArcCenter:(CGPoint)center

                                 radius:(CGFloat)radius

                             startAngle:(CGFloat)startAngle

                               endAngle:(CGFloat)endAngle

                              clockwise:(BOOL)clockwise

Parameters

center

Specifies the center point of the circle (in the current coordinate system) used to define the arc.

radius

Specifies the radius of the circle used to define the arc.

startAngle

Specifies the starting angle of the arc (measured in radians).

endAngle

Specifies the end angle of the arc (measured in radians).

clockwise

The direction in which to draw the arc.

Return Value

A new path object with the specified arc.

Discussion

This method creates an open subpath. The created arc lies on the perimeter of the specified circle. When drawn in the default coordinate system, the start and end angles are based on the unit circle shown in Figure 1. For example, specifying a start angle of
0 radians, an end angle of π radians, and setting the clockwise parameter to YES draws the bottom half of the circle. However, specifying the same start and end angles but setting the clockwise parameter set to NO draws the top half of the circle.

Figure 1Angles in the default coordinate system

image: ../Art/radians_circle.png

After calling this method, the current point is set to the point on the arc at the end angle of the circle.

Availability

Available in iOS 3.2 and later.

可以使用贝塞尔曲线和 CAKeyframeAnimation 来构建动画。

// 路径曲线
UIBezierPath *movePath = [UIBezierPath bezierPath];
...
// 关键帧
CAKeyframeAnimation *moveAnim = [CAKeyframeAnimation animationWithKeyPath:@"position"];
moveAnim.path = movePath.CGPath;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息