2012-11-15 17 views
7

मैं कुछ गुण है कि UIView के एक विशेष वर्ग बनाया है की एक subview के रूप में एक स्टोरीबोर्ड दृश्य जोड़ें, और मैं बहुत प्रोग्राम के रूप में किया था, क्योंकि यह आम तौर पर खाली है, लेकिन कई बार अन्य दृश्यों में शामिल होंगे पर। मुझे पता है कि मैं की तरह [specialView addSubview: aView];एक प्रोग्राम के रूप में बनाए गए दृश्य

कुछ कर सकते हैं अगर मैं एक UIView प्रोग्राम के रूप में बनाने के मेरे समस्या एक UIView कि मैं स्टोरीबोर्ड में बनाया है कि वहाँ और मैं जोड़ने की जरूरत है कि UIView मेरी विशेष दृश्य पर एक subview के रूप में। मैंने इसे अपने व्यू कंट्रोलर में एक संपत्ति के रूप में जोड़ा है, लेकिन जब मैं ऊपर जैसा ही कोड करता हूं, कुछ भी नहीं होता है। विचार?

उत्तर

9
MyViewController *myViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"MyScene"]; 
[specialView addSubview:myViewController.theViewToAdd]; 

और इंटरफ़ेस बिल्डर में अपने दृश्य (नियंत्रक देखें) को ऐसे पहचानकर्ता को देना न भूलें।

0

UIViewController जो घरों इच्छित दृश्य instantiated नहीं किया जा सकता है। तो आपको उस नियंत्रक को तुरंत चालू करने और वहां से दृश्य को पकड़ने की आवश्यकता होगी।

2

एक अन्य समाधान यह है कि आप व्यू कंट्रोलर को बालवर्ग नियंत्रक के रूप में जोड़ सकते हैं।

func displayContentController(content: UIViewController) { 
    addChildViewController(content) 
    self.view.addSubview(content.view) 
    content.didMoveToParentViewController(self) 
} 

निकालने के लिए:

func hideContentController(content: UIViewController) { 
    content.willMoveToParentViewController(nil) 
    content.view.removeFromSuperview() 
    content.removeFromParentViewController() 
} 
संबंधित मुद्दे