2012-05-19 13 views
11

नहीं है, मुझे वास्तव में स्टोरीबोर्ड में अपना पूरा दृश्य प्रस्तुत करना पसंद है, लेकिन ऐसे समय होते हैं जब मेरे पास एक ऐसा दृश्य होगा जो कोड द्वारा जेनरेट किए गए बटन पर आधारित होता है कोई सेगू संदर्भ नहीं होगा - यह स्टोरीबोर्ड में पूरी तरह से डिस्कनेक्ट हो जाएगा। मैं अभी भी इसे स्टोरीबोर्ड में डिजाइन करना चाहता हूं, हालांकि मैं अपनी सभी स्क्रीन का एक अच्छा अवलोकन कर सकता हूं।लोड व्यू फॉर्म स्टोरीबार्ड जिसमें सेग्यू

क्या UIViewControler लोड होने पर स्टोरीबोर्ड में डिज़ाइन किए गए XIB (या जो भी स्टोरीबोर्ड में है) लोड करना मेरे लिए संभव है?

+0

आप हमें आप क्या करना चाहते हैं, उसका एक उदाहरण दे सकते हैं दिखाएं? नए व्यू के निर्माण के लिए किस प्रकार का डेटा ज़िम्मेदार है? आम तौर पर मुझे लगता है कि आप एक नई कक्षा बनाते हैं या एक ही कक्षा को एक दृश्य को सफ़ेद करते हैं और उस उपयोगकर्ता के आधार पर जो आप दृश्य सामग्री को छुपाते या जोड़ते हैं। आपके लिए – Shawn

उत्तर

24

मैं अपनी परियोजनाओं में ऐसा करते हैं:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 
UIViewController *myController = [storyboard instantiateViewControllerWithIdentifier:@"MyViewController"]; 
[self.navigationController pushViewController: myController animated:YES]; 

बस सुनिश्चित करें कि आप अपने नियंत्रक के पहचानकर्ता को ठीक से सेट किया गया है। ,

  1. स्टोरीबोर्ड
  2. उपयोगिताएँ पैनल में
  3. में नियंत्रक का चयन गुण निरीक्षक क्लिक करें: आप इस से कर सकते हैं। जो कुछ भी आप पहचानकर्ता फ़ील्ड में डालने का निर्णय लेते हैं वह 'instantiateViewControllerWithIdentifier' कथन में जाता है।

मुझे उम्मीद है कि इससे मदद मिलती है।

+0

सही है, ठीक है, जो मैं खोज रहा था - धन्यवाद। यद्यपि यह पूरी तरह से जरूरी नहीं है, लेकिन मेरे सभी UIViews को एक स्क्रीन पर देखना अच्छा लगता है। – Slee

+0

प्रारंभ में यह कसरत नहीं था, लेकिन फिर .. '[स्वयं उपस्थित दृश्य नियंत्रक: वीसी एनिमेटेड: हाँ पूर्णता: नहीं]; 'आखिरी पंक्ति में मेरे लिए जादू किया। –

+0

हां मायु, यह ध्यान दिया जाना चाहिए कि [self.navigationController push ...] का उपयोग केवल तभी काम करता है जब उस दृश्य नियंत्रक को नेविगेशन व्यू कंट्रोलर में एम्बेड किया गया हो। – mihai

2

आपको अपने दृश्य नियंत्रक को स्टोरीबोर्ड आईडी असाइन करना होगा।

आईबी> पहचान निरीक्षक> पहचान> स्टोरीबोर्ड आईडी

Storyboard ID

स्विफ्ट

let storyboard = UIStoryboard(name: "Main", bundle: nil) 
let viewcontroller = storyboard.instantiateViewControllerWithIdentifier("viewController") 
        as? UIViewController 
if let navigationController = self.navigationController { 
    navigationController.pushViewController(viewcontroller!, animated: true) 
} 
संबंधित मुद्दे