Kakao programlamayla kavramsal ya da teknik sorun

oy
2

Ben onun görünümden bir viewcontroller erişim ihtiyacı içinde buluyorum.

İşte yöntemdir

-(void)changePageView:(UIViewController*)newviewcont withtransitiontype:(int)t andtransitionspeed:(int)s
{
    //Remove whatever view is currently loaded at index 0, this index is only to be used by page views
    UIView *oldview = [self.view.subviews objectAtIndex:0];

    [UIView beginAnimations:@View Flip context:nil];
    [UIView setAnimationDuration:s];
    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.view cache:YES];
    [newviewcont viewWillAppear:YES];
    //[oldview viewWillDisappear:YES];
    [oldview removeFromSuperview];
    [self.view insertSubview:newviewcont.view atIndex:0];
    //[oldview viewDidDisappear:YES];
    [newviewcont viewDidAppear:YES];

}

Temelde, rootcontrollers görünümünden subviewcontorllers görüşlerini dışarı takas kök kontrolörü tarafından çağrılan genel görünüm anahtarı yöntemi yazmaya çalışıyorum.

Bir subviewcontroller geçmek ve mevcut subview kaldırmak mümkün. Ama uygun görünüm anahtarlama animasyon yapmak için ben şimdiki görünümleri görünümü denetleyicisi erişmeniz gerekir. Bu yanlış bir yaklaşımdır ve bu yapılabilir?

Oluştur 02/03/2009 saat 00:57
kaynak kullanıcı
Diğer dillerde...                            


3 cevaplar

oy
1

Geçerli alt görünümü denetleyicisi (currentController) üzerine tutun ve bir kontrol takas tamamlandığında kendisine atıfta rootcontroller bir üye ilave

-(void)changePageView:(UIViewController*)newviewcont withtransitiontype:(int)t andtransitionspeed:(int)s
{


    [UIView beginAnimations:@"View Flip" context:nil];
    [UIView setAnimationDuration:s];
    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.view cache:YES];
    [newviewcont viewWillAppear:YES];
    [self.currentController viewWillDisappear:YES];
    [self.currentController.view removeFromSuperview];
    [self.view insertSubview:newviewcont.view atIndex:0];
    [self.currentController viewDidDisappear:YES];
    [newviewcont viewDidAppear:YES];
    [UIView commitAnimations];


    self.currentController = newviewcont;

}
Cevap 02/03/2009 saat 02:21
kaynak kullanıcı

oy
0

changeView()Yöntem viewcontroller aittir. O kontrolör (ki bu olmamalı) ve o daha mantıklı hakkında Size bilerek görünüme sahip sorununu çözecek.

Ayrıca fantezi bir şey yapıyorsun sürece changeView()bir yöntemleri kullanılarak yapılabilir olamayacağını UIViewControllero zaman yerine bir kısmını implemtning ait UIViewController uzatabilirsiniz kendi bakış anahtarlama yöntemi uygulamak gerekmektedir olarak eğer o zaman sadece onu kullanmak gerekir nesne senin görünümünde görünüm controlelr.

Benim 2 cent :)

Cevap 02/03/2009 saat 01:16
kaynak kullanıcı

oy
-2

Ben yaklaşımınız yanlış olduğuna inanıyoruz. Sen inanıyorum UINavigationController içine bakmak gerekir.

Cevap 02/03/2009 saat 01:09
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more