2013-01-22 8 views
6

हाय वहाँ मेरे पास एक बटन पर एक सेग्यू प्रदर्शन करने वाला व्यू कंट्रोलर है।प्रदर्शन सेग्यूविथ इंडेंटिफायर प्रारंभिक देरी से बचने के लिए चाल

- (IBAction)moveToCoolViewButtonTapped { 
    [self performSegueWithIdentifier:@"toCoolView" sender:nil]; 
} 

यह ठीक, के अलावा एक कष्टप्रद देरी पहली बार प्रदर्शन किया है से, मैं दृश्य अभी तक प्रारंभ नहीं किया जा रहा है की वजह से लगता है कि काम करता है। मैं स्पष्ट रूप से समय से पहले कई विचारों को बनाना नहीं चाहता हूं। (एक ही दृश्य नियंत्रक से योजनाबद्ध कई अन्य segues हैं)। तो, शायद एक लंबा शॉट: लेकिन मुझे आश्चर्य हुआ कि अगर किसी के पास शुरुआती अंतराल से बचने के लिए कोई शानदार प्रेरित चाल है?

उत्तर

1
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 
toCoolView *yourViewController = (toCoolView *)[storyboard instantiateViewControllerWithIdentifier:@"toCoolView"]; 
[self.navigationController pushViewController:yourViewController animated:YES]; 

कोशिश है कि संभोग

+1

धन्यवाद इस

[self performSegueWithIdentifier:@"toCoolView" sender:nil]; 

की जगह है, लेकिन नहीं। बिल्कुल वही परिणाम, जो समझ में आता है क्योंकि यह मूल रूप से वही काम कर रहा है (तब प्रदर्शित करना शुरू होता है)। –

0

अरे मैं एक ही समस्या थी। समाधान की तलाश में आपकी पोस्ट में आया था। मुझे लगता है कि मुझे अंततः समस्या मिली।

समस्याएं आपके प्रदर्शन में नहीं हैं SegueWithIdentifier लेकिन यह आपके गंतव्य नियंत्रक में है (जहां भी "toCoolView" आपको ले जाता है)। इसके दृश्य को जांचेंडलोड करें और देखें कि क्या कुछ भी है जो लोड करने के लिए अतिरिक्त समय ले सकता है। मेरे मामले में मैं UIImagepickerController आवंटित और प्रारंभ कर रहा था जो देरी कर रहा था इसलिए मैंने इसे वहां से हटा दिया और इसे ViewDidAppear में रखा।

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

आशा है कि यह

2

में मदद करता है की कोशिश के साथ इस

dispatch_async(dispatch_get_main_queue(),^{ 
    [self performSegueWithIdentifier:@"toCoolView" sender:nil]; 
}); 
संबंधित मुद्दे