SORU
10 EYLÜL 2009, PERŞEMBE


Bir UİViewController itmek için özel animasyon

Göstermek istediğim bir özel animasyon zaman itici bir görünüm denetleyicisi: isterdim, bir şey elde etmek gibi bir "genişletmek" animasyon anlamına gelir yeni bakış açısı genişler bir verilen dikdörtgen, diyelim ki [100,100 220,380] sırasında animasyon için tam ekran.

Başlamak için, herhangi bir belge, dersler, bağlantılar sırasıyla herhangi bir öneriniz var mı? :)


Tamam. Aşağıdaki kod ile animasyon genişletmek yapabilirim:

if ([coming.view superview] == nil)   
    [self.view addSubview:coming.view];
    coming.view.frame = CGRectMake(160,160,0,0);
    [UIView beginAnimations:@"frame" context:nil];
    [UIView setAnimationDuration:4];
    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
    [coming viewWillAppear:YES];
    [going viewWillAppear:YES];
    coming.view.frame = CGRectMake(0, 0, 320, 480);
    [going viewDidDisappear:YES];
    [coming viewDidAppear:YES];
    [UIView commitAnimations];

Benim görüşüm düzgün görüntülenir, ancak ne yazık ki navigasyon bar değil updatet. Bir şekilde el ile ilgisi var mı?

heinrich


Örnek kod, bir işlev güncellemeleri görünümü dönüşümü tüm 0.03 saniye denir. Bir UİViewController zorlandığında ne yazık ki, bu bakış çerçeveyi yeniden boyutlandırmak bulunamam ... ben ?

CEVAP
15 Mart 2010, PAZARTESİ


Aşağıdaki işlevi kullanın (UINavigationController eklendi) itme animasyon özelleştirmek için:

- (void) pushController: (UIViewController*) controller
         withTransition: (UIViewAnimationTransition) transition
{
    [UIView beginAnimations:nil context:NULL];
    [self pushViewController:controller animated:NO];
    [UIView setAnimationDuration:.5];
    [UIView setAnimationBeginsFromCurrentState:YES];        
    [UIView setAnimationTransition:transition forView:self.view cache:YES];
    [UIView commitAnimations];
}

Bu kodu istediğin her şeyi yapmak için uyarlayabilirsiniz sanırım.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • KarnasCamillo

    KarnasCamill

    24 EKİM 2007
  • o0oCyrusViruso0o

    o0oCyrusViru

    11 Mart 2008
  • thegeniuses.tv

    thegeniuses.

    11 Aralık 2006