2015-01-27 12 views
11

मान लीजिए कि आपने एक एक्सकोड 6 प्रोजेक्ट से एक स्टैंडअलोन प्लेग्राउंड संसाधन निर्देशिका में Main.storyboard कॉपी किया है। Main.storyboard फ़ाइल का उपयोग करके आप UIStoryboard को तुरंत कैसे चालू कर सकते हैं? nil के माध्यम से डिफ़ॉल्ट उपयोग करने के लिए काम नहीं करता है की कोशिश कर रहा:आप आईओएस प्लेग्राउंड के भीतर किसी फ़ाइल से स्टोरीबोर्ड को कैसे चालू करते हैं?

let storyboard = UIStoryboard(name: "Main", bundle: nil) 

न ही स्पष्ट रूप से मुख्य बंडल का उपयोग करता है:

let storyboard = UIStoryboard(name: "Main", bundle: NSBundle.mainBundle()) 

यहां तक ​​कि अगर खेल का मैदान स्टोरीबोर्ड के Xcode प्रोजेक्ट का हिस्सा है, मैं एक ही प्राप्त त्रुटि: "बंडल एनएसबंडल में 'मुख्य' नामक एक स्टोरीबोर्ड नहीं मिला ..."

लगता है कि बंडल पथ सही है और स्टोरीबोर्ड फ़ाइल को deserialize करने में सक्षम होना चाहिए। ibtool का उपयोग कर के (finallly!)

"आप अपने संसाधन में एक xib फ़ाइल फेंक सकते हैं, लेकिन खेल का मैदान यह नहीं पढ़ सकते हैं या चलाने क्योंकि यह संकलित रूप में नहीं है आज, मैं सोचा:

उत्तर

10

मैं इस पाया। मेरी मेनमेनू.एक्सआईबी फ़ाइल को एनआईबी में पूर्व-संकलित करने के लिए और उसके बाद लोड करें। जब आप एक्सकोड के कमांड लाइन टूल्स को इंस्टॉल करते हैं, तो ibtool को/usr/bin में जोड़ा जाता है। इसलिए आपको अपने निब को संकलित करने के लिए केवल निम्न आदेश जारी करना है:

--compile MainMenu.nib MainMenu.xib

फेंक है कि अपने खेल का मैदान के संसाधनों फ़ोल्डर और यो में निब जिसके परिणामस्वरूप

ibtool आप इसे लोड करने के लिए तैयार हैं। "

http://ericasadun.com/2015/03/25/swift-todays-wow-moment-adding-menus-to-playgrounds/

आपका स्टोरीबोर्ड कई महत्वपूर्ण व्यक्ति में संकलित किया जाएगा (दृश्य प्रति एक)

पर

आशा है कि यह

2

जवाब @ybakos की तरह मदद करता है, लेकिन एक स्टोरीबोर्ड आप चाहते हैं के साथ एक रूपरेखा तक पहुँचने के लिए लोड करने के लिए (फिर प्लेग्राउंड और आपका ऐप दोनों एक ही स्टोरीबोर्ड का उपयोग कर सकते हैं):

यदि आपके पास एक फ्रेमवर्क में स्टोरीबोर्ड है जिसे सिम्युलेटर के लिए संकलित किया गया है और इसमें भी एम्बेड किया गया है

let frameworkBundle = Bundle(identifier: "com.kigisoft.KGWeatherMap") 
let storyboard = UIStoryboard(name: "WeatherMap", bundle: frameworkBundle) 

आप इस से एक नमूना परियोजना "StoryboardPlay" डाउनलोड कर सकते हैं: काम कर परियोजना है कि इसके अलावा एक कार्यक्षेत्र में रहता है, आप ढांचे तो जैसे ढांचे बंडल के माध्यम से है कि एक ही कार्यक्षेत्र में एक खेल के मैदान में लोड करने के लिए, सक्षम हो जाएगा ड्रॉपबॉक्स लिंक:

Playground Example Projects

संबंधित मुद्दे