2015-01-24 14 views
34

Tôi muốn tạo ảnh động cho một đối tượng, vì vậy tôi khai báo một ràng buộc và thêm nó vào khung nhìn. Sau đó tôi cập nhật thuộc tính constant của ràng buộc bên trong hoạt ảnh UIView. Tại sao mã này không di chuyển đối tượng?Cập nhật thuộc tính cố định của một ràng buộc lập trình trong Swift?

UIView.animateWithDuration(1, animations: { 
    myConstraint.constant = 0 
    self.view.updateConstraints(myConstraint) 
}) 

Trả lời

75

Để khai báo hoạt ảnh, bạn không thể xác định lại ràng buộc và gọi updateConstraints. Bạn có nghĩa vụ phải thay đổi constant của chế của bạn và làm theo định dạng dưới đây:

self.view.layoutIfNeeded() 
UIView.animateWithDuration(1, animations: { 
    self.sampleConstraint.constant = 20 
    self.view.layoutIfNeeded() 
}) 
+3

self.view.layoutIfNeeded() là chính xác những gì tôi đang tìm kiếm! Cảm ơn rất nhiều vì chuyện này. Chỉ là một nghi ngờ .. nó có một số loại hiệu suất hit là tốt? –

+2

@MuditJaju Nếu không có trong UITableView, thường thì không có vấn đề về hiệu suất. – duan

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