Bir kullanıcı dokunduğunda, belirtilen bir görünüme göre animasyon uygulamak ve kullanıcı tekrar dokunduğunda orijinal konumuna geri dönmek istiyorum. Görünümlerimi hizalamak için storyboardumda AutoLayout kullanıyorum. İlk önce mükemmel pozisyonda yukarı doğru gider, ancak orijinal konumuna mükemmel bir şekilde geri dönmez. ViewDidLoad yöntemimde bir CGFloat değişkeninde görünen başlangıç değerini saklıyorum ve sonra görünümü geri getirmek için bu nesneyi yeniden atayım. İşte benim kodu (mükemmel çalışıyor Bu) yukarı için Canlandırma Aşağı içinAnimate UIView, mükemmel bir şekilde çalışmıyor
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.2];
CGRect frame = _pickLocationView.frame;
frame.origin.y = _cityLabelView.frame.origin.y;
_pickLocationView.frame = frame;
[UIView commitAnimations];
Animasyon olduğunu. Çerçeve viewDidLoad
içinde nihai boyutları ve konumu olması garanti
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.2];
CGRect frame = _pickLocationView.frame;
frame.origin.y = kDefaultOriginOfPickLocationView;
_pickLocationView.frame = frame;
[UIView commitAnimations];
Aşağıya Animasyonu nasıl diyorsunuz? –
o görünümün varsayılan kaynağını atayarak –