कोको प्रोग्रामिंग के साथ वैचारिक या तकनीकी मुद्दा

वोट
2

मैं अपने आप को अपनी दृष्टि से एक ViewController के लिए उपयोग की जरूरत होती हैं।

यहाँ विधि है

-(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];

}

मूल रूप से, मैं एक सामान्य दृश्य स्विच विधि है कि जड़ नियंत्रक द्वारा कहा जाता है rootcontrollers देखने से subviewcontorllers विचारों बाहर स्वैप करने के लिए लिखने की कोशिश कर रहा हूँ।

मैं एक subviewcontroller में गुजरती हैं और वर्तमान subview दूर करने के लिए कर रहा हूँ। लेकिन आदेश उचित दृश्य स्विचिंग एनीमेशन करने के लिए मैं वर्तमान विचारों दृश्य नियंत्रक के लिए उपयोग की जरूरत है। यह गलत तरीका है और यह किया जा सकता है?

02/03/2009 को 00:57
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


3 जवाब

वोट
1

मैं rootcontroller कि वर्तमान उप दृश्य नियंत्रक (currentController) पर रखें और जब एक नियंत्रक स्वैप किया जाता है यह करने के लिए संदर्भित करता है के लिए एक सदस्य जोड़ा

-(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;

}
02/03/2009 को 02:21
का स्रोत उपयोगकर्ता

वोट
0

changeView()विधि ViewController में अंतर्गत आता है। यह आप को देखने जानने होने की समस्या का समाधान के बारे में यह नियंत्रक है (जो ऐसा नहीं होना चाहिए) और इसे और अधिक समझ में आता है जाएगा।

इसके अलावा जब तक आप कुछ में कल्पना कर रहे हैं changeView()कि एक में तरीकों का उपयोग कर नहीं किया जा सकता UIViewControllerवस्तु तो आप बस इसे बजाय अगर यह आपका अपना दृश्य स्विचिंग विधि लागू करने के लिए तो आपको इसके स्थान का हिस्सा implemtning की UIViewController विस्तार कर सकते हैं आवश्यक है का उपयोग करना चाहिए, आपके विचार में दृश्य controlelr।

मेरी 2 सेंट :)

02/03/2009 को 01:16
का स्रोत उपयोगकर्ता

वोट
-2

मेरा मानना ​​है कि अपने दृष्टिकोण गलत है। आप UINavigationController मेरा मानना ​​है कि इस पर गौर करना चाहिए।

02/03/2009 को 01:09
का स्रोत उपयोगकर्ता

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