iOS 7 动画UIDynamicAnimator
- (void)viewDidLoad { [super viewDidLoad]; [self initUI]; [self performSelector:@selector(startGravity:) withObject:Nil afterDelay:1];// Do any additional setup after loading the view, typically from a nib. } // 开始重力行为 - (IBAction)startGravity:(id)sender {
// 设为全局才会有效,不知什么原因 animator = [[UIDynamicAnimator alloc] initWithReferenceView:self.view];//动画方法都根据这个调用 UIGravityBehavior* gravityBeahvior = [[UIGravityBehavior alloc] initWithItems:@[HUDView]]; [animator addBehavior:gravityBeahvior]; UIAttachmentBehavior *attachmentBehavior = [[UIAttachmentBehavior alloc] initWithItem:HUDView attachedToAnchor:CGPointMake(100, 0)]; [attachmentBehavior setLength:200]; [attachmentBehavior setDamping:0.1]; [attachmentBehavior setFrequency:5]; [animator addBehavior:attachmentBehavior]; } -(void)initUI{ HUDView=[[UIView alloc]initWithFrame:(CGRectMake(0, 0, 100, 100))]; HUDView.backgroundColor=[UIColor orangeColor]; HUDView.backgroundColor=[UIColor redColor]; HUDView.center = CGPointMake(100, 100); HUDView.layer.cornerRadius=50; [self.view addSubview:HUDView]; }