2016-08-13 3 views
1

애니메이션을 시도하고 있는데 큰 문제에 직면했습니다. 애니메이션이 끝나고 화면 (예 : 터치)을 할 때 요소가 그들의 첫번째 위치. 나는 이것을 찾았습니다 : [블로그] : Animation Blocks resets to original position after updating text 그들은 요소가 제약 조건이나 자동 레이아웃을 가지고 있다고 말합니다. 그래서 그것을 고치기 위해 끄십시오. 그러나 그것을 끄고 싶지는 않습니다. 제약 조건을 프로그래밍 방식으로 업데이트 할 수 있습니까? 다른 해결책이 있습니까?애니메이션 : 요소의 재설정 위치 중지 (빠른)

여기 내 애니메이션의 :

@IBOutlet var tfUser: UITextfiled! 

override func viewDidLoad() { 
    super.viewDidLoad() 

} 

override func viewWillAppear(animated: Bool) { 
    super.viewWillAppear(animated) 
tfUser.center.x += view.bounds.width 
} 


override func viewDidAppear(animated: Bool) { 
    super.viewDidAppear(animated) 

    UIView.animateWithDuration(2, delay: 1.8, options: [.CurveEaseInOut], animations: { 
     self.tfUser.center.x += self.view.bounds.width 
     //self.tfUser.frame = CGRectMake(0, 233, 375 , 89) 
     // i tried CGRectMake but it delete the animation 
     }, completion: nil) 
} 
+0

UIView의 translatesAutoresizingMaskIntoConstraints 속성을 사용하십시오. 이'self.tfUser.translatesAutoresizingMaskIntoConstraints = false; '와 같이. –

+0

정말 고마워요. – Matt

답변

0

, @Hardik Shekhat는 사용했다 :

self.tfUser.translatesAutoresizingMaskIntoConstraints = true 

나를 위해 작동합니다!

관련 문제