2014-11-24 25 views
6

Tôi đang nghiên cứu phát triển iOS ngay bây giờ. Khi tôi thêm một xem trực tiếp và muốn nó được thực hiện bởi lực hấp dẫn, xây dựng và chạy ứng dụng thử nghiệm của tôi, tôi thấy nó không có lực hấp dẫn. Đây là mã viewDidLoad trong viewController.m tôi:Tại sao UIKit Dynamics không hoạt động?

[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]; 

Trả lời

8

bạn UIDynamicAnimator được deallocated khi viewDidLoad lợi nhuận. Nó không thể animate bất cứ điều gì nếu nó deallocated. Tạo một tài sản:

@property (nonatomic) UIDynamicAnimator *animator; 

Và đặt nó:

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

OH YEAH, THANKS ~ –

Các vấn đề liên quan