今天學到UIKit Dynamic的
Adding Gravity to Your UI Components
{
[superviewDidAppear:animated];
self.squareView = [[UIViewalloc]initWithFrame:CGRectMake(0.0f,0.0f,100.0f, 100.0f)];
self.squareView.backgroundColor = [UIColorcyanColor];
self.squareView.center =self.view.center;
[self.viewaddSubview:self.squareView];
self.animator = [[UIDynamicAnimatoralloc]initWithReferenceView:self.view];
self.squareView.transform = CGAffineTransformRotate(self.squareView.transform,45);
UIGravityBehavior *gravity = [[UIGravityBehavioralloc]initWithItems:@[self.squareView]];
[self.animatoraddBehavior:gravity];
UICollisionBehavior *collision = [[UICollisionBehavioralloc]initWithItems:@[self.squareView]];
collision.translatesReferenceBoundsIntoBoundary =YES;
[self.animatoraddBehavior:collision];
}
問題解決方式:是因爲我錯誤的把
self.squareView.transform = CGAffineTransformRotate(self.squareView.transform,45);
放在了
UIGravityBehavior *gravity = [[UIGravityBehavior alloc]initWithItems:@[self.squareView]];
[self.animator addBehavior:gravity];
的後面,找了半天,經朋友提醒才知道問題是這樣的,應該是將圖片在經重力下落前就旋轉
總結:有時候邏輯上出了問題,就很難找出問題所在了