2012-10-25 24 views
9

में किसी तालिका दृश्य में टूलबार जोड़ने के लिए मैं एक साधारण नोट एप्लिकेशन बना रहा हूं और मैं TableView के नीचे एक स्थिर बार जोड़ना चाहता हूं। उदाहरण के लिए, मैं एक सहायता बटन जोड़ना चाहता हूं। मैं इसे अपने टेबल व्यू में कैसे कर सकता हूं?आईओएस

अब तक:

मैं स्टोरीबोर्ड के माध्यम से एक उपकरण पट्टी जोड़ लिया है, लेकिन यह है कि यह पिछले बनाया tableView सेल के अंत में रहना पड़ता है। मैं इसे नीचे फंस जाना चाहता हूँ। मेरी viewDidLoad विधि

धन्यवाद में

@property (strong, nonatomic) IBOutlet UIToolbar *toolbar; 
मेरी tableViewController.h फ़ाइल में

और

[self.view addSubview:_toolbar]; 
[self.navigationController.view setFrame:self.view.frame]; 

मेरी tableViewController.m फ़ाइल में: मैं प्रोग्राम के रूप में करने के लिए इस कोड को दर्ज की गई!

उत्तर

10

सबसे अच्छा समाधान से बेहतर होगा एक UITableViewController के बजाय एक UIViewController उपयोग करने के लिए है। (यह ऊपर कहा गया है, लेकिन मुझे आपको विवरण देने दो)।

इसके संबंधित XIB के साथ एक नया UIViewController बनाएं। अपने नए UIViewController के दृश्य के अंदर UITableView में खींचें, इसका आकार बदलें, और जहां चाहें अपनी यूआईटीूलबार खींचें।

enter image description here

काली बॉर्डर UIViewController के मुख्य दृश्य का प्रतिनिधित्व:

आप कुछ इस तरह होना चाहिए। लाल सीमा तालिका दृश्य का प्रतिनिधित्व करती है। नीली सीमा आपके टूलबार का प्रतिनिधित्व करती है।

बाद में, अपना UIViewController दो प्रोटोकॉल का अनुपालन करें: UITableViewDelegate और UITableViewDataSource। आपको मैन्युअल रूप से इसके आवश्यक तरीकों को लागू करना होगा जैसे हमें सेलफॉररोएट इंडेक्सपैथ, संख्याऑफ्रोइन्स इनसेक्शन, आदि, लेकिन इसे आपको लंबा नहीं लेना चाहिए।

अपने UIViewController पर अपने UITableView को लिंक करें। दृश्य नियंत्रक को इसके "डेटा स्रोत" और "प्रतिनिधि" गुणों को भी लिंक करें।

आपके पास 15 मिनट से भी कम समय में आपका सेटअप तैयार होगा।

+0

बहुत बहुत धन्यवाद !! मैं यह समझ गया! –

+0

अच्छा जवाब, मुझे ऐसा लगता है! – why

-1

इसे आज़माएं, यह आपके टूलबार को तालिका के पाद लेख के रूप में जोड़ देगा। और सुनिश्चित करें कि आपने टेबल की फ़ूटर ऊंचाई 44 (टूलबार की ऊंचाई) के रूप में दी है।

self.tableView.tableFooterView = _toolbar; 
+0

धन्यवाद, मैंने कोशिश की लेकिन यह काम नहीं किया। शायद मैंने कुछ गलत किया? –

+0

वह सिर्फ टेबल के नीचे टूलबार चिपकता है स्क्रीन के नीचे नहीं देखें। –

0

आप ViewController के बजाय TableViewController

का उपयोग फिर अपने हेडर फाइल में अपने TableView एक IBOutlet के रूप में करना चाहिए। प्रतिनिधि और डेटा स्रोत घोषित करें। तुम जाने के लिए तैयार हो।

1

कोड के माध्यम से एक टूलबार जोड़ें सरल है।

UIToolbar *toobar = [[UIToolbar alloc]initWithFrame:frameYouNeed]; 
toobar.barStyle = UIBarStyleBlack; 
[self.view addSubview:toobar]; 

लेकिन यह अगर तुम, एक subview के रूप UITableView का उपयोग बल्कि एक UITableViewController

+0

धन्यवाद, लेकिन यह त्रुटियों को खींच रहा है –

+0

जैसा कि @Leonnears ने कहा है, टूलबार और तालिका बनाएं अपने दृश्य के दो उप दृश्यों के रूप में देखें नियंत्रक – BabyPanda

3

आप एक स्टोरीबोर्ड के साथ एक मानक UITableViewController का उपयोग कर सकते हैं। "अनुरूपित मीट्रिक" में, नीचे बार मेनू पर जाएं और "टूलबार" चुनें। टूलबार प्रकट होता है। फिर आप इसमें बटन आइटम जोड़ सकते हैं।

+1

यह सही उत्तर है। बहुत आसन। मैं वर्षों से इस विधि का उपयोग कर रहा हूं। लोग इस तरह से इतना बड़ा सौदा क्यों कर रहे हैं? ऐसे ठोस जवाब प्रदान करना! –

6

मुझे अभी एक बेहतर चाल मिली है!

  1. यकीन है कि कोई नेविगेशन बार (अपने असफल प्रयास से) है
  2. खींचें और एक "बार बटन मद" ड्रॉप (Xcode जादुई तल पर आप के लिए यह जगह होगी)
  3. नोट: यदि आप ऐप चलाते हैं तो आप कुछ भी नहीं देखेंगे! (ताकि पढ़ते रहते)
  4. viewDidLoad के तहत निम्न कोड पंक्ति जोड़ें:

    self.navigationController.toolbarHidden = नहीं;

हो गया!

+0

अच्छा - अगर आप उन्हें अन्य विचारों पर नहीं चाहते हैं तो बस झूठी पर सेट करें ... अब हम तेजी से – DogCoffee

+0

अच्छी चाल का उपयोग करते हैं !! मुझे आश्चर्य है कि टूलबार डिफ़ॉल्ट रूप से नीचे क्यों जाता है। क्या यह ऐप्पल एचआईजी के साथ संघर्ष नहीं करता है? तेजी से उपयोग के लिए self.navigationController? .toolbarHidden = false – Das

0

आप टूलबार का उपयोग कर सकते हैं जो डिफ़ॉल्ट रूप से सभी UITableViews में शामिल है, और इसमें UIBarButtonItems जोड़ें। नाम के बावजूद, UIBarButtonItems को किसी भी प्रकार के दृश्य के रूप में अनुकूलित किया जा सकता है। फिर आप उन्हें संपत्ति self.toolbarItems में जोड़ते हैं, जो डिफ़ॉल्ट रूप से UITableViews के लिए उपलब्ध है। उदा।

UIBarButtonItem * textItem; 
UILabel * label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 250, 48)]; 
label.text = @"ImportantText"; 
label.adjustsFontSizeToFitWidth = YES; 
label.textAlignment = NSTextAlignmentRight; 
textItem = [[ UIBarButtonItem alloc ] initWithCustomView:label]; 

UIBarButtonItem * switchItem; 
UISwitch * switchCtrl = [[UISwitch alloc] init]; 
[switchCtrl addTarget:self action:@selector(toggleSomething:) forControlEvents:UIControlEventValueChanged]; 
switchItem = [[ UIBarButtonItem alloc ] initWithCustomView:switchCtrl]; 

self.toolbarItems = [ NSArray arrayWithObjects: 
        [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil], 
        textItem,switchItem,nil ]; 
0

मैं नेविगेशन नियंत्रक में टूलबार दिखाएं जाँच करके एक स्टोरीबोर्ड में यह काम कर गया। फिर टेबल व्यू कंट्रोलर के नीचे दिखाए गए ग्रेड आउट टूलबार क्षेत्र में बार बटन आइटम खींचें। फिर नेविगेशन नियंत्रक विधियों तक बार बटन आइटम तारों।