2012-04-24 6 views
11

मैंने अपने मुख्य दृश्य नियंत्रक दृश्य में UISplitViewController दृश्य जोड़ा है, कोड नीचे है।वर्तमान मॉड्यूल व्यू कंट्रोलर देखें पूर्ण स्क्रीन में दृश्य प्रस्तुत नहीं करना

documentsRootViewController = [[DocumentsRootViewController alloc] initWithStyle:UITableViewStylePlain]; 
    UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:documentsRootViewController]; 
    documentsRootViewController.title = @"Document List"; 

    documentDetailView = [[DocumentsDetailView alloc] initWithNibName:@"DocumentsDetailView" bundle:nil]; 
    documentsRootViewController.detailViewController = documentDetailView; 

    docSplitViewController = [[UISplitViewController alloc] init]; 
    docSplitViewController.viewControllers = [NSArray arrayWithObjects:navigationController, documentDetailView, nil]; 
    docSplitViewController.delegate = documentDetailView; 

    CGRect splitViewFrame = CGRectMake(0, 0, cetralArea.frame.size.width, cetralArea.frame.size.height);   
    docSplitViewController.view.frame = splitViewFrame; 
    [cetralArea addSubview:docSplitViewController.view]; 

अब क्या मैं चाहता हूँ UISplitViewController की DetailView से एक ViewController पेश करने के लिए है मैं मेरे क्लिक करें DetailViewControllers अंदर के रूप में नीचे यह करने के लिए कोशिश कर रहा हूँ! बटन क्लिक करें।

enter image description here

- (IBAction) buttonClicked:(id)sender 
{ 
    NSString *phrase = nil; // Document password (for unlocking most encrypted PDF files)  
    NSArray *pdfs = [[NSBundle mainBundle] pathsForResourcesOfType:@"pdf" inDirectory:nil];  
    NSString *filePath = [pdfs lastObject]; assert(filePath != nil); // Path to last PDF file 

    ReaderDocument *readerDocument = [ReaderDocument withDocumentFilePath:filePath password:phrase];  
    if (readerDocument != nil) // Must have a valid ReaderDocument object in order to proceed with things 
    { 
     ReaderViewController *rViewController = [[ReaderViewController alloc] initWithReaderDocument:readerDocument];   
     rViewController.delegate = self; // Set the ReaderViewController delegate to self    

     [self presentModalViewController:rViewController animated:NO];   
    } 
} 

लेकिन यह एक अजीब प्रस्तुति में

enter image description here

.. किसी को भी कर सकते हैं सुझाव है कि समस्या क्या यहाँ है, अग्रिम धन्यवाद

+0

अच्छी तरह से समझाया !! –

+0

@ विशाल नॉप .. मुझे लगता है कि अभी भी सुधारने की जरूरत है, लेकिन पहली बार इसके के लिए हाँ;) –

+0

@Shashank हम भी एक ही मुद्दे का सामना कर रहे हैं। क्या आपने इसे हल किया था? – Hitarth

उत्तर

2

अपने स्क्रीनशॉट में जिसके परिणामस्वरूप है मैं वास्तव में नहीं बता सकता कि आपका स्प्लिट व्यू कंट्रोलर बाएं तरफ और दाएं तरफ (विस्तार दृश्य) कहां स्थित है। पदों को अलग करने के लिए विचारों के पृष्ठभूमि रंग बदलें। ऐसा लगता है कि आपको उनके साथ समस्याएं आ रही हैं।

वैसे भी, आप विस्तार के बजाय splitView से मोडल व्यू कंट्रोलर पेश करने का प्रयास कर सकते हैं।

[splitViewController presentModalViewController:rViewController animated:NO]; 
+0

हाय मार्टिन, उत्तर के लिए धन्यवाद लेकिन यह काम नहीं करता है। splitviewcontroller का उपयोग कर व्यू कंट्रोलर प्रस्तुत करना कुछ भी नहीं दिखा रहा है। – Shashank

2

मेरा मानना ​​है कि चाल यहाँ दृश्य नियंत्रक के modalPresentationStyle (और वैकल्पिक modalTransitionStyle) आप रुप से प्रदर्शित करना चाहते हैं बदल रहा है:

ReaderViewController *rViewController = [[ReaderViewController alloc] initWithReaderDocument:readerDocument];   
    rViewController.delegate = self; // Set the ReaderViewController delegate to self    

    rViewController.modalPresentationStyle = UIModalPresentationFullScreen; 
    rViewController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;  
    [self presentViewController:rViewController animated:YES completion:nil]; 
0

मैं क्या पाया आप cetralArea.frame.size.width तरह SPLITVIEW आकार दे रहे हैं है ।

इसके बजाय स्प्लिटव्यू को सीधे वह आकार दें जो आप देना चाहते हैं।

आशा है कि यह आपके लिए काम करेगा।

1

मुझे एक ही समस्या थी (आईओएस 5.1 में)। ModalPresentationStyle को UIModalPresentationPageSheet पर सेट करें और इसे अपेक्षित के रूप में कार्य करना चाहिए।

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { 
    rViewController.modalPresentationStyle = UIModalPresentationPageSheet; 
    rViewController.modalTransitionStyle = UIModalTransitionStyleCoverVertical; 
} 
संबंधित मुद्दे