नोट करें कि यह कामकाज xcode6_beta7 पर आवश्यक था। सबसे आखिरी xcode6 में UIModalPresentationOver * शैलियों को ठीक किया गया है। तो, मैं उन्हें सिर्फ myModalViewController.modalPresentationStyle को असाइन कर रहा हूं और अब यह ठीक काम करता है।
अंत में यह iOS 8 में काम किया जाता पढ़ने UIPresentationController help और this post
appDelegate.window.rootViewController.modalPresentationStyle = UIModalPresentationCurrentContext;
MyModalController *myModalController = [[MyModalController alloc] initWithNibName:@"MyModalController" bundle:nil];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:myModalController];
navController.modalPresentationStyle = UIModalPresentationCustom;
navController.transitioningDelegate = myModalController;
[self.navigationController presentViewController:navController animated:YES completion:nil];
आप मोडल दृश्य नियंत्रक बना सकते हैं के बाद UIViewControllerTransitioningDelegate
@interface MyModalController : UIViewController <UIViewControllerTransitioningDelegate>
से विरासत और presentationControllerForPresentedViewController ओवरराइड: ...
-(UIPresentationController *)presentationControllerForPresentedViewController:(UIViewController *)presented presentingViewController:(UIViewController *)presenting sourceViewController:(UIViewController *)source
{
if (presented == self) {
return [[TransparentPresentationController alloc] initWithPresentedViewController:presented presentingViewController:presenting];
} else {
return nil;
}
}
TransparentPresentationController का एक उदाहरण है जो
@interface TransparentPresentationController : UIPresentationController
UIPresentationController
से विरासत और ओवरराइड करता है shouldRemovePresentersView
- (BOOL) shouldRemovePresentersView {
return NO;
}
स्रोत
2014-09-05 18:24:49
मैं एक और भावना में यह लिख: – SuperHappy
मैं दो दृश्यों में यह लिख: ViewController में: - (IBAction) वर्तमान: (आईडी) इस { // दृश्य दो SecondViewController * नियंत्रक = [[SecondViewController alloc] इस में]; [नियंत्रक उपस्थित]; } एसेंस के लिए दो :-(शून्य) वर्तमान { UIViewController * root = [[[[UIAplplication sharedAplication] प्रतिनिधि] विंडो] rootViewController]; [स्वयं सेट ट्रांसमिशनिंग डिलीगेट: self.transitionController]; self.modalPresentationStyle = UIModalPresentationCustom; [रूट वर्तमान दृश्य नियंत्रक: स्वयं एनिमेटेड: हाँ पूर्णता: शून्य]; } लेकिन उसने प्रतिनिधि विधि नहीं की.क्यों? तुम्हारा सही है। – SuperHappy
यह काम करता है। बहुत - बहुत धन्यवाद! – echo