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

  • Absolute Zero(Programming Tutorials)

    Absolute Zer

    22 Kasım 2012
  • iBand IguJoo

    iBand IguJoo

    25 AĞUSTOS 2006
  • kylelandry

    kylelandry

    9 AĞUSTOS 2007