2014-11-24 3 views
6

Я изучаю развитие iOS сейчас. Когда я добавляю прямой вид и хочу, чтобы это выполнялось гравитацией, создайте и запустите мое тестовое приложение, я нахожу, что у него нет силы тяжести. Это код viewDidLoad в моем viewController.m:Почему UIKit Dynamics не работает?

[super viewDidLoad]; 

// Do any additional setup after loading the view, typically from a nib. 
UIView *squre = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)]; 
squre.backgroundColor = [UIColor grayColor]; 
[self.view addSubview:squre]; 

UIDynamicAnimator *_animator = [[UIDynamicAnimator alloc] initWithReferenceView:self.view]; 
UIGravityBehavior *_gravity = [[UIGravityBehavior alloc] initWithItems:@[squre]]; 
[_animator addBehavior:_gravity]; 

ответ

8

Ваш UIDynamicAnimator будет перераспределена, когда viewDidLoad возвращается. Он ничего не может оживить, если он будет освобожден. Сделайте свойство:

@property (nonatomic) UIDynamicAnimator *animator; 

И установить его:

self.animator = [[UIDynamicAnimator alloc] initWithReferenceView:self.view]; 
+1

OH Да, спасибо ~ –

 Смежные вопросы

  • Нет связанных вопросов^_^