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
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.
Reset veya özel sürüm kullanmaya Gah i...
Nasıl özel yöntemleri, alanları veya i...
Nasıl özel nesneler ile bir NSMutableA...
Nasıl bir Etkinlik için başlık çubuğun...
Modern Python özel istisnalar bildirme...