2012-01-03 19 views
6

से यूआईटीयूएलबार को दृष्टि से संशोधित करना मैं एक्सकोड 4 का उपयोग कर रहा हूं और एक एप्लीकेशन जो स्टोरीबोर्डिंग कर रहा हूं, हालांकि मैं यूआईटीूलबार को दृष्टि से संशोधित नहीं कर सकता।एक्सकोड स्टोरीबोर्ड

मैं एक UIToolbar एक UITableViewController के अंदर है कि संशोधित करने का प्रयास कर रहा हूँ - लेकिन मैं इसे नेत्रहीन संशोधित करने के लिए सक्षम होने के लिए में UIToolbar सही पदानुक्रम से बाहर रखना होगा। मैंने इसे दृश्य नियंत्रक क्षेत्र में रखने की कोशिश की है, लेकिन यह इसे प्रदर्शित नहीं करता है।

एक बिंदु पर मैं इसे नीचे प्रकट करने में सक्षम था, क्योंकि यह स्वयं की वस्तु है, हालांकि मैं इसे फिर से बनाने में सक्षम नहीं था।

Problem

एक बार मैं इसे इस Problem

उत्तर

21

आपका UITableViewControllerUINavigationController के अंदर है, जो पहले से ही अपने UIToolbar है - आपको अपने दृश्य पदानुक्रम में एक नया खींचने की आवश्यकता नहीं है। इंटरफेस बिल्डर इंस्पेक्टर पैनल में "सिम्युलेटेड मेट्रिक्स" के तहत आपके लिए टूलबार अनुकरण कर सकता है।

एक बार नकली टूलबार दिखाई दे रहा है, तो बस इसमें UIBarButtonItem एस खींचें। कस्टम बटन के साथ एक कस्टम आइटम का उपयोग करें यदि आपको किसी बटन या स्पेसर से अधिक जटिल की आवश्यकता है।

आप की जरूरत अपने टूलबार आइटम गतिशील होने की जरूरत है, तो आप जरूरी उन्हें अपने ध्यान में रखते हुए बिना IBOutlet रों के माध्यम से एक संदर्भ बनाए रख सकते हैं। फिर अपने UITableViewController के toolbarItems गुण सेट या रनटाइम पर -setToolbarItems:animated: फोन उचित आइटम प्रदर्शित करने के लिए।

ऐप्पल के UINavigationController Class Reference: Displaying a Toolbar देखें।

+0

धन्यवाद कि समस्या थी, मैं पहले नकली टूलबार पर आइटम खींच नहीं सका, लेकिन यह एक क्रैश का पता लगाने के बाद मुझे एक्सकोड के चल रहे सत्र को बनाए रखने के कारण था। सिम्युलेट टूलबार पर बार बटन आइटम को खींचकर अपेक्षित परिणाम दिया गया। – 1dayitwillmake

+0

हालांकि, एक ही समय में, मैं जानना चाहता हूं कि मैं उस टूलबार को नीचे दिखाने के लिए कैसे प्राप्त कर सकता था क्योंकि यह अपनी इकाई दो बार है। – 1dayitwillmake

+1

ओह, मैं भी; मुझे पता नहीं है। –

1

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

-TableController 
    -Table 
     -Subview 
     -Another subview 

UITableViewControllers इस करने के लिए कम कर रहे हैं:

-TableViewController 
    -Table 

तो तुम एक UIViewController का उपयोग करें और वहाँ में एक UITableView घोषित करने के लिए की आवश्यकता होगी। यहाँ पदानुक्रम आप तो उपयोग करना चाहिए:

- ViewController <Table's Delegate & Data Source> 
    - View   
     -Table 
     - Your UIToolbar 

अपने ViewController.h में घोषित IBOutlet UITableView और ViewController के लिए डेटा स्रोत और प्रतिनिधि कनेक्ट। फिर बस अपनी .m फ़ाइल में UITableView कार्यान्वयन जोड़ें और आप जाने के लिए अच्छे हैं।

+0

मैं क्रम में एक समस्या नहीं है, यह बस स्टोरीबोर्ड के भीतर है। मैं टूलबार को दृष्टि से संशोधित नहीं कर सकता, हालांकि रनटाइम पर यह सही तरीके से दिखाई देता है। – 1dayitwillmake

+0

ठीक है, मैंने जो समझाया है उसे आजमाएं और शायद यह काम करेगा। – JonasG

+0

यह एक दिलचस्प विचार है, हालांकि मुझे ऐसा करने की ज़रूरत नहीं है। मैं दुर्घटना से एक बार अपने आप को प्रदर्शित करने के लिए टूलबार प्राप्त करने में सक्षम था। तो मुझे यकीन है कि एक रास्ता है। – 1dayitwillmake

2

आपके प्रश्न का उत्तर करने के लिए, दृश्य संपादक सबसे नियंत्रण, दृश्य पदानुक्रम, और प्रतिनिधिमंडल पैटर्न की स्थापना को सरल है, लेकिन यह वे बाहर की जाँच सुनिश्चित करने के लिए डेवलपर के लिए अभी भी है। UITableViewController के कार्यान्वयन कि Xcode दृश्य संपादक के माध्यम से लागू नहीं करता है उसके दृश्य पदानुक्रम के बारे में कुछ मान्यताओं और कथनों में आता है। यह देखते हुए कि अपने वांछित दृश्य पदानुक्रम असमर्थित है, मुझे लगता है कि करने के लिए संपादक के व्यवहार या तो अपरिभाषित या अप्रासंगिक है। कामकाज के लिए, मैक्सनर के सुझाव देखें।

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