StoryBoard में टैब बार नियंत्रक आदेश का पुन: संचालन


165

मेरे ऐप आईफोन ऐप में मेरे पास 4 बार 4 कंट्रोलर के साथ 4 बार टेबल व्यू कंट्रोलर्स के साथ एक टैब बार कंट्रोलर है। क्या स्टोरीबार्ड में ग्राफिक रूप से रिश्ते के क्रम को पुनर्व्यवस्थित करने का एक तरीका है? मुझे ऐसा करने का तरीका नहीं मिल रहा है और मुझे यकीन है कि मुझे कुछ याद आ रहा है!


जवाबों:


254

4.5 में कंट्रोलर जोड़ने के बाद स्टोरीबोर्ड को सेव करें, दूसरी फाइल पर स्विच करें और फिर स्टोरीबोर्ड पर वापस जाएं और टैब ड्रैगिंग फिर से काम करना चाहिए।


45
टैब खींच रहा है! ठीक है मुझे भी नहीं पता था कि हम टैब खींच सकते हैं। टैब के चयन के बाद से बहुत सहज नहीं हैं ...
पियरे डे LESPINAY

1
यदि आप Xcode UI पर टैब स्विच / क्लोज इनकंटेशन के साथ पोज़ करते हुए थक जाते हैं, तो बस JannieT के उत्तर को देखें। यह त्वरित और आसान है।
सिक्स्टो सैज़

Unintuitive लेकिन इसने मेरे लिए Xcode 7.
zeeple

यदि आपको आइटम खींचने के लिए नहीं दिखते हैं, तो ऐसा इसलिए हो सकता है क्योंकि आपने अभी तक कोई आइकन सेट नहीं किया है। मैंने पाया कि जब तक मैं आइकन सेट नहीं करता, यह दिखाई नहीं दे रहा था!
ब्रायन

1
अच्छा :) यह भी नहीं पता था कि यह ड्रैग करने योग्य हो सकता है
अमृत ​​एंग्री

132

आप टैब बार नियंत्रक में आइकन को खींचकर और गिराकर आदेश को फिर से व्यवस्थित कर सकते हैं


4
यदि आप कस्टम टैब का उपयोग कर रहे हैं, तो आप फिर भी ड्रैग और ड्रॉप कर सकते हैं भले ही Tab Bar Controllerदृश्य ग्रे बार दिखाता हो, बार आइटम अभी भी है। यह विशेष रूप से अगोचर है जब आपके सभी बार आइटम कस्टम आइटम हैं।
गेराल्ड

सबसे सीधे आगे और सुविधाजनक तरीका है। Xcode 7.3.1 में काम करता है। स्विफ्ट 2.2
मार्क बैरासो

Xcode 9 में काम करता है - हालांकि आइकन अदृश्य थे।
सेसर


15

मैं XCode 4.6 (किसी भी उल्लेख किए गए कोबिनेशन के साथ) को खींचने और छोड़ने में सक्षम नहीं था। मैं इसे "में storybord खोलने का समाधान कर लिया स्रोत कोड " मोड, पता लगाने TabBarController और उलटफेर seque टैग।


मेरे पास एक टैब बार कंट्रोलर है जो स्प्लिट व्यू कंट्रोलर में नेस्टेड है, और परिणामस्वरूप, स्टोरीबोर्ड में टैब बार कंट्रोलर के टैब दिखाई नहीं देते हैं। स्टोरीबोर्ड स्रोत कोड का संपादन मेरे लिए काम करता है। धन्यवाद!
स्कॉट गार्डनर

14

मुझे पता है कि ओपी Xcode इंटरफ़ेस बिल्डर का उपयोग कर रहा है और ऐसा करने के लिए एक ग्राफिकल तरीका पूछ रहा है, लेकिन Xamarin iOS डिजाइनर के साथ काम करने वाले डेवलपर्स के लिए, यहां एक वर्कअराउंड है जो मैं उपयोग करता हूं।

एक टेक्स्ट एडिटर में .storyboard फ़ाइल खोलें या Xcode का उपयोग करके, प्रोजेक्ट नेविगेटर में स्टोरीबोर्ड आइटम पर राइट क्लिक करें और Open As Source Code का चयन करें । स्टोरीबोर्ड में XML <tabBarController ...>नोड का पता लगाता है। फिर मैं <connections>खंड में सेगमेंट के क्रम को पुनर्व्यवस्थित करता हूं :

<connections>
    <segue destination="274" kind="relationship" relationship="viewControllers" id="286"/>
    <segue id="943" destination="910" kind="relationship" relationship="viewControllers"/>
    <segue destination="147" kind="relationship" relationship="viewControllers" id="159"/>
</connections>

के लिए खोज destination=निर्धारित करने के लिए कौन सा दृश्य नियंत्रक segue तत्व की ओर इंगित करता है एक्सएमएल में विशेषता मान।


1
महान समाधान। मेरे पास एक विशाल स्टोरीबोर्ड था और सेगमेंट्स को हटाने और पुनःप्राप्त करने में कुछ समय लगता था
YYamil

10

टैब बार में टैब आइकन को बस खींचें और छोड़ें।

यानी मुख्य टैब बार जो टैब बार कंट्रोलर से संबंधित है।

HTH

:: EDIT :: तो यह काम नहीं कर रहा है ... मुझे यकीन है कि इसका इस्तेमाल किया गया था।

वैसे भी, मैंने जो सबसे आसान तरीका पाया, वह यह है कि टैब हटा दें और उन्हें वापस उसी क्रम में जोड़ें, जिस क्रम में आप उन्हें दिखाना चाहते हैं।

उम्मीद है की यह मदद करेगा।


LOL, बस परीक्षण करने के लिए गया था और मैं गलत था। माफ़ करना। हालांकि इससे पहले किया है। एक सेकंड ...
फोगमिस्टर

हाँ, मुझे लगता है कि मुझे याद है कि ड्रैग एंड ड्रॉप ने काम किया था, हालांकि मुझे इस बारे में यकीन नहीं है! शायद वे Xcode में कुछ बदल गए ..
BigLex

मैं सिर्फ यह कोशिश की, और यह ठीक काम करने के लिए Xcode 4.5 में टैब खींचें
rdelmar

@rdelmar क्या आपने अपनी परियोजना को टैब बार एप्लिकेशन के रूप में शुरू किया था या आपने एकल दृश्य अनुप्रयोग में टैब बार व्यू कंट्रोलर जोड़ा था?
BigLex

5
ड्रैग एंड ड्रॉप काम करता है, लेकिन टैब को खींचने और छोड़ने की कोशिश करने से पहले अगर आपने स्टोरीबोर्ड में कुछ भी किया है, तो यह ज़िद्दी हो जाता है। इसे ठीक करने के लिए, Xcode में किसी अन्य फ़ाइल का चयन करें और फिर अपने स्टोरीबोर्ड पर वापस जाएं। ड्रैग एंड ड्रॉप फिर से काम करेगा। Xcode को बंद करने या अपने नियंत्रकों को फिर से जोड़ने की कोई आवश्यकता नहीं है।
मेमों

9

जैसा कि टिप्पणियों में कहा गया है, नेविगेशन नियंत्रक को जोड़ने के बाद ड्रैग एंड ड्रॉप वर्तमान में काम नहीं करता है (Xcode 4.5)। हालाँकि, नियंत्रक को जोड़ने के बाद Xcode को पुनरारंभ करने से लगता है कि ड्रैग एंड ड्रॉप फिर से काम कर रहा है।



7

यदि आप स्टोरीबोर्ड को 'सोर्स कोड व्यू' के रूप में खोलते हैं और फिर इसे ओपन करते हैं तो इसे आईबी देखें क्योंकि यह बग को ठीक करता है।


मेरे लिए यह (Xcode 8.1) काम किया, मैं स्टोरीबोर्ड को सोर्स कोड व्यू में खोलने के बाद अंत में पुन: व्यवस्थित करने में सक्षम था।
अंडर

7

हर किसी द्वारा प्रदान किए गए ड्रैग एंड ड्रॉप मेथड को जोड़ना। मैंने इसे एक उत्तर के रूप में पोस्ट किया है ताकि मैं छवियों को शामिल कर सकूं। Xcode 7.3 पर प्रयास किया गया

यदि आप कस्टम का उपयोग कर रहे हैं tab bar item, तो आप अभी भी ड्रैग और ड्रॉप कर सकते हैं भले ही Tab Bar Controllerदृश्य ग्रे बार दिखाता हो, बार आइटम अभी भी है। यह विशेष रूप से अगोचर है जब आपके सभी बार आइटम कस्टम आइटम हैं

यहां छवि विवरण दर्ज करें विवरण


4

मैं iOS 7.1 के विकास के लिए XCode 5.1 का उपयोग कर रहा हूं और मैंने पाया कि टैब बार कंट्रोलर में टैब को फिर से व्यवस्थित करने के लिए निम्नलिखित दृष्टिकोण काम करता है।

टैब बार नियंत्रक में टैब को पुनर्व्यवस्थित करने के लिए, टैब बार नियंत्रक से अपने उप-दृश्य नियंत्रकों के लिए सेगेट्स को हटा दें। फिर आप जिस क्रम में टैब चाहते हैं, उसमें सेगमेंट को फिर से ड्रा करें। "पुनः ड्रा" करने के लिए मेरा मतलब है कि आप टैब बार कंट्रोलर से सब-व्यू कंट्रोलर तक ड्रैग को नियंत्रित करें और रिलेशनशिप सेगमेंट (सूची के नीचे) => व्यू कंट्रोलर्स को चुनें।


3
सच। एक और तरीका है कि .storyboard को "स्रोत कोड" के रूप में संपादित किया जा रहा है, सेग्यू को ढूंढना (वे एक <segue> टैग हैं), और उनके आदेश को फिर से व्यवस्थित करना।
voghDev

3

आप यह सुनिश्चित कर सकते हैं कि आपके मुख्य स्टोरीबोर्ड में टैब कंट्रोलर डॉक विकल्प "फर्स्ट रिस्पॉन्डर" पर सेट है, जिसने इसे मेरे लिए हल कर दिया है!


मैं इनमें से कई विचारों की कोशिश कर रहा हूं, क्योंकि अब मुझे यह समस्या हो रही है कि मैं अब (नया या पुराना) क्या प्रोजेक्ट लाऊं। मैं यह नहीं पता लगा सकता कि कयाक का अर्थ "टैब नियंत्रक डॉक विकल्प" है। किसी के पास कोई विचार है?
लॉरेलस

3

नेविगेशन कंट्रोलर जोड़ने के बाद मेरे पास यही मुद्दा था।

फिक्स: स्टोरीबोर्ड को बंद करें (Ctrl + Cmd + W) और एक साफ बिल्ड फ़ोल्डर (विकल्प + Cmd + Shift + K) और एक नियमित रूप से साफ (Cmd + Shift + K) करें। स्टोरीबोर्ड को फिर से खोलें और आप आइटम को फिर से खींचने में सक्षम होंगे।


1

एक ही बात xCode 4.6 में है। मैं मूल रूप से आईओएस में स्टोरीबोर्ड्स की शुरुआत में ट्यूटोरियल का अनुसरण कर रहा था । तब TabBarController पर आइटम को स्वाइप करने के लिए, मैं ऑर्डर नहीं बदल सका। मैंने इसे बचाने की कोशिश की - काम नहीं किया; हालाँकि, एक बार मैंने XCode को बंद कर दिया और फिर से खोल दिया - यह काम किया।


1

स्टोरीबोर्ड में TabBarController में आइटम को नियंत्रण + खींचें और वांछित स्थिति में पुन: व्यवस्थित करें।


मुझे लगता है कि यह विकल्प + खींचें
GGirotto

0

मैं स्टोरीबोर्ड के लिए रेवेंडरलिच ट्यूटोरियल का भी अनुसरण कर रहा था और महसूस किया कि टैब कंट्रोलर को जोड़ने के बाद मैं टैब को ड्रैग करके पुनर्व्यवस्थित नहीं कर सका। खैर, जाहिरा तौर पर इसके सिर्फ कुछ बग में xcode। तो बस एक्सकोड को छोड़ दें, इसे पुनरारंभ करें और इस बार, आप टैब को खींचने में सक्षम होंगे।


0

मेरे लिए ड्रैगिंग XCode 7.3.1 में भी काम नहीं किया। XCode को फिर से शुरू करने से मदद नहीं मिली। और उपर्युक्त समाधानों में से किसी ने भी मेरे लिए काम नहीं किया।

मुझे क्या मदद मिली: मैंने दूसरे आइटम से संबंध हटा दिया और उस आइटम से टैब बार नियंत्रक पर ctrl- ड्रैग किया और दूसरा संबंध बनाया। यह अब अपने आप दूसरे स्थान पर था।


0

टैबबार के साथ सभी व्यू-कंट्रोलर को हटा दें। आपको पहले viewcontroller के पहले segue की जरूरत है फिर दूसरे viewcontroller के टैब्बर से जुड़ने की।

कोई पुनः आरंभ नहीं xcode और परिवर्तन में कोई स्पष्ट स्रोत कोड फ़ाइल की आवश्यकता नहीं है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.