圆周运动

- (void)viewDidLoad {

[super viewDidLoad];

//圆周运动

_ball= [[UIView alloc]init];

_ball.backgroundColor= [UIColor blueColor];

_ball.alpha=0.3;

//_ball.frame = CGRectMake(100, 100, 100, 100);

//frame:对坐标和宽高进行设置

_ball.bounds=CGRectMake(0, 0, 40, 40);

_ball.center=CGPointMake(100, 100);

//计算90°的位置

//<#double#>角度计算时必须用弧度制180° = 3.1415926...

//M_PI  π宏定义M_PI_2==二分之π==90°

//+160中心点(0.0)在屏幕的左上角y轴方向向下

float x = 160 + 160 *cos(M_PI);

float y = 240 - 180 *sin(M_PI_2);

//屏幕上一个轨迹圆上任意一个点的坐标的计算公式

//横坐标=圆的中心点横坐标+圆的半径* cos(弧度制角度);

//纵坐标=圆的中心点纵坐标-圆的半径* sin(弧度制角度);

_ball.center=CGPointMake(x, y);

//frame = (-50 -50; 100 100)

//bounds:只设置宽高,不设置位置,默认把屏幕左上角设置为中心点位置,一般和center属性协同使用

//center:设置视图中心点坐标

//剪切成圆形

_ball.layer.cornerRadius= 20;

[self.view addSubview:_ball];

//控制视图做圆周运动的定时器

[NSTimer scheduledTimerWithTimeInterval:0.005 target:self selector:@selector(move) userInfo:nil repeats:YES];

}

- (void)move {

//定义视图在轨迹圆上的初始位置

static int angle = 90;

//改变角度

angle ++;

//计算视图在角度改变之后的横纵坐标

//先把角度制转换为弧度制

// angle * M_PI / 180

//椭圆120短轴半径160长轴半径

//改变180°会产生不规则运动(100和200半圆运动)

float x = 160 +120 *cos(angle *M_PI/ 180);

float y = 240 - 160 *sin(angle *M_PI/ 180);

//刷新视图的center

_ball.center=CGPointMake(x, y);

NSLog(@"%@",_ball);

}

你可能感兴趣的:(圆周运动)