6

निष्पादित नहीं कर रहा है, बस मेरे ऐप में एक बैक टेबल वीसी और फ्रंट टेबल वीसी के साथ एक स्लाइड नेविगेशन व्यू कंट्रोलर है। पिछली तालिका वीसी में एक चयनित सेल को फ्रंट टेबल वीसी (नेविगेशन वीसी में एम्बेडेड) में सीग करना है। इसे समझने के लिए, यहाँ पृथक पूर्व परिवर्तन सेटिंग्स और इसके साथ कोड ठीक से काम कर रहे हैं:SWRevealViewController nib सेल segue

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    let navigationCell = tableView.dequeueReusableCellWithIdentifier("NavigationCell", forIndexPath: indexPath) as UITableViewCell 
    return navigationCell 
} 
:

enter image description here enter image description here enter image description here

यहाँ कुलपति cellForRowAtIndexPath विधि मेरी पीठ तालिका में सरलीकृत काम कर कोड है

ठीक है, मजेदार भाग पर। मैं चाहता हूं कि एक्सआईबी फाइल में मेरी कस्टम कोशिकाओं में से एक के साथ ऊपर दिखाए गए डिफ़ॉल्ट UITableViewCell को प्रतिस्थापित करना है। अब मैं समझाऊंगा कि मैंने क्या संशोधित किया है। सबसे पहले, मेरे NavigationCell.xib फ़ाइल में मेरा ज़िब सेल है। कुछ खास नहीं।

override func viewDidLoad() { 
    super.viewDidLoad() 
    let navigationCellNib = UINib(nibName: "NavigationCell", bundle: nil) 
    tableView.registerNib(navigationCellNib, forCellReuseIdentifier: "NavigationCell") 
} 

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    let navigationCell = tableView.dequeueReusableCellWithIdentifier("NavigationCell", forIndexPath: indexPath) as! NavigationCell 
    return navigationCell 
} 
:

enter image description here enter image description here

मेरे NavigationCell वर्ग कोड बस

import UIKit 

class NavigationCell: UITableViewCell { 
    @IBOutlet var nameLabel: UILabel! 
} 

अंत में है, मैं अपने कोड मेरी पीठ तालिका में कुलपति xib रजिस्टर और कस्टम सेल विपंक्ति करने के लिए संशोधित

अन्य सभी कोड और विनिर्देश एक ही रहते हैं। नए कस्टम सेल के लिए स्टोरीबोर्ड सीगू अभी भी इस प्रश्न के पहले स्क्रीनशॉट में दिखाए गए अनुसार SWRevealViewControllerSeguePushController वर्ग से है। मैंने बस अपने कस्टम Xib सेल के साथ डिफ़ॉल्ट UITableViewCell को बदल दिया।

यह संशोधन सेग्यू को होने से रोकने के लिए पर्याप्त था। इस संशोधन के साथ, जब मैं बैक टेबल वीसी नेविगेशन मेनू को स्लाइड करता हूं और मेरे कस्टम नेविगेशन सेल (जो ठीक से प्रदर्शित होता है) का चयन करता है, तो यह किसी भी सेगू को ट्रिगर नहीं करता है। कोई विचार?

+0

मैंने पहले SWRevealController का उपयोग किया है और यह सामान मुश्किल हो जाता है। क्या आपने pushController के बजाय segue को setController बनाने का प्रयास किया है? – NSGangster

+0

मैंने इसका लाभ उठाने के लिए इसे आगे और पीछे स्विच कर दिया है। जब मैं नेविगेशन सेल टैप करता हूं तो यह डिफ़ॉल्ट हल्के भूरे रंग में हाइलाइट करता है और 'didSelectRowAtIndexPath' विधि को ट्रिगर करता है लेकिन यह तब तक जाता है जब तक यह जाता है। – Aaron

+0

यहां एक ट्यूटोरियल है जिसका उपयोग मैंने पहली बार SWRevealController http://www.appcoda.com/ios-programming-sidebar-navigation-menu/ के साथ गड़बड़ कर रहा था, आपके पास इसका अधिकांश सेटअप कार्यान्वयन मेनू आइटम चयन शीर्षक वाले अनुभाग पर जाना है। ऐसा प्रतीत होता है कि आपको एक सेग्यू पहचानकर्ता की आवश्यकता है और segue विधि के लिए तैयार है। यह भी सुनिश्चित करें कि आपके पास उचित sw_front, sw_rear segue पहचानकर्ता हैं। यह एक अच्छा ट्यूटोरियल है। – NSGangster

उत्तर

4

मैं मूर्ख हूं। मुझे didSelectRowAtIndexPath में प्रोग्रामिंग रूप से segue प्रदर्शन करना पड़ा।

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
    self.performSegueWithIdentifier("MySegue", sender: self) 
} 
संबंधित मुद्दे