Kullanıcıya doğru açılan 2 adet fransız kapı (veya 2 kapaklı kapı) gibi görünen bir animasyon yaratmaya çalışıyorum.UIImageView'lar nasıl açıldı Kapak kapıları açıldı
UIViewAnimationOptionTransitionFlipFromRight geçişinde yerleşik kullanmayı denedim, ancak geçişin kökeni sol kenardan ziyade UIImageView'in merkezi gibi görünüyor. Temel olarak, her bir doldurmanın ekrana sahip olduğu 2 UIImageView var. Animasyonun UIImageViews ekranın ortasından kenarlara doğru kaldırılması gibi görünmesini istiyorum.
[UIView transitionWithView:leftView
duration:1.0
options:UIViewAnimationOptionTransitionFlipFromRight
animations:^ { leftView.alpha = 0; }
completion:^(BOOL finished) {
[leftView removeFromSuperview];
}];
Daha önce böyle bir şey yapan oldu mu? Herhangi bir yardım harika olurdu!
GÜNCELLEME: Nick Lockwood Çalışma kod sayesinde
leftView.layer.anchorPoint = CGPointMake(0, 0.5); // hinge around the left edge
leftView.frame = CGRectMake(0, 0, 160, 460); //reset view position
rightView.layer.anchorPoint = CGPointMake(1.0, 0.5); //hinge around the right edge
rightView.frame = CGRectMake(160, 0, 160, 460); //reset view position
[UIView animateWithDuration:0.75 animations:^{
CATransform3D leftTransform = CATransform3DIdentity;
leftTransform.m34 = -1.0f/500; //dark magic to set the 3D perspective
leftTransform = CATransform3DRotate(leftTransform, -M_PI_2, 0, 1, 0);
leftView.layer.transform = leftTransform;
CATransform3D rightTransform = CATransform3DIdentity;
rightTransform.m34 = -1.0f/500; //dark magic to set the 3D perspective
rightTransform = CATransform3DRotate(rightTransform, M_PI_2, 0, 1, 0);
rightView.layer.transform = rightTransform;
}];
Not: Eğer sağ ve sol kapı rotasyonlar eksi işaretini takas edebilir hale getirmek için burada tamamen kod çalışıyor (bu sağ ve sol kapılar uç dosyasında kapalı konumda yerleştirilir varsayar) kapılar içeriye doğru açılır. –