SORU
22 Mart 2011, Salı


UİView dikey flip animation

UIViewAnimationTransitionFlipFromRight ile bir iOS UİView var. Dikey çevirmek olsa gerek. Sayfa geçiş kesmeyecek kıvırın. Bu da daha özel bir şey gerekir sanırım.

Herhangi bir fikir?

CEVAP
22 Mart 2011, Salı


Sadece flip kullanarak Temel Animasyon Dönüşümleri için kendi yönteminizi yazın.

- (void)verticalFlip{
    [UIView animateWithDuration:someDuration delay:someDelay animations:^{
        yourView.layer.transform = CATransform3DMakeRotation(M_PI,1.0,0.0,0.0);
    } completion:^{
        // code to be executed when flip is completed
    }];
}

Çerçeveler eklendi ve dahil/Çekirdek Animasyon kütüphaneleri var ve ayrıca eğer M_PI gösterimde kullanmak istiyorsanız math.h dahil olduğundan emin olun.

DÜZENLEME:

""Yarım zaman görünümü böyle bir şey yapmak çevirdi: . değişiklik var aslında

- (void)verticalFlip{
    [UIView animateWithDuration:someDuration delay:someDelay animations:^{
        yourView.layer.transform = CATransform3DMakeRotation(M_PI_2,1.0,0.0,0.0); //flip halfway
    } completion:^{
        while ([yourView.subviews count] > 0)
            [[yourView.subviews lastObject] removeFromSuperview]; // remove all subviews
        // Add your new views here 
        [UIView animateWithDuration:someDuration delay:someDelay animations:^{
            yourView.layer.transform = CATransform3DMakeRotation(M_PI,1.0,0.0,0.0); //finish the flip
        } completion:^{
            // Flip completion code here
        }];
    }];
}

Bu da işe yarayabilir:

- (void)verticalFlip{

    // Do the first half of the flip
    [UIView animateWithDuration:someDuration delay:someDelay animations:^{
        yourView.layer.transform = CATransform3DMakeRotation(M_PI_2,1.0,0.0,0.0); //flip halfway
    } completion:^{
        while ([yourView.subviews count] > 0)
            [[yourView.subviews lastObject] removeFromSuperview]; // remove all subviews
        // Add your new views here 
    }];

    // After a delay equal to the duration delay of the first half of the flip, complete the flip
    [UIView animateWithDuration:someDuration delay:durationOfFirstAnimation animations:^{
        yourView.layer.transform = CATransform3DMakeRotation(M_PI,1.0,0.0,0.0); //finish the flip
    } completion:^{
        // Flip completion code here
    }];
}

Şerefe.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • JorteexHD

    JorteexHD

    20 NİSAN 2012
  • metallmanutza13

    metallmanutz

    13 NİSAN 2007
  • REK Roth Productions

    REK Roth Pro

    8 Ocak 2011