2012-02-18 15 views
7

मैं अपनी स्टोरीबोर्ड फ़ाइल में बनाए गए "स्टेटिक सेल" तालिका दृश्य का उपयोग कर रहा हूं। हालांकि जब सेटिंग बदल जाती है तो मैं इन कोशिकाओं में से किसी एक पर पाठ को अपडेट करना चाहता हूं।एक स्थिर UITableView सेल में पाठ को संशोधित करना?

मैं एक दृश्य नियंत्रक को दबा रहा हूं जो सेटिंग अद्यतन करता है। मैं स्टैक से पॉप आउट होने पर सेल के टेक्स्ट को बदलने के लिए कॉलबैक का उपयोग करने की कोशिश कर रहा हूं, लेकिन उस बिंदु तक सेल को स्पष्ट रूप से पुनर्नवीनीकरण या पुन: उपयोग किया गया है, इसलिए पुरानी वस्तु स्क्रीन से बाहर है और अब तालिका दृश्य में उपयोग नहीं की जाती है।

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

+0

क्यों आप एक सेल गुप्त है कि के लिए एक पाठ अपडेट होगा? आपको अवगत होना चाहिए कि सेल का पुनर्नवीनीकरण किया जा सकता है। तदनुसार उन्हें अद्यतन करें। – Mark

+0

आपको स्थिर कोशिकाओं का उपयोग नहीं करना पड़ेगा। सेल के बदले हुए संस्करण को फिर से प्रकट होने के लिए आपको एक प्रतिनिधि सेट अप करना होगा। – Tobias

उत्तर

19

अपने तालिका दृश्य पदानुक्रम मान लिया जाये की तर्ज पर है:

Table View (static cells) 
- Table View Section 
    - Table View Cell 
    - UILabel (with the text property you want to modify) 
  1. एक IBOutlet UILabel घोषित अपने कोड में, और इसके बाद के संस्करण तालिका दृश्य पदानुक्रम में स्टोरीबोर्ड के UILabel में यह तार अप।
  2. अपनी कॉलबैक विधि में, अपनी UILabel की टेक्स्ट प्रॉपर्टी सेट करें जैसा आप फिट देखते हैं।
0

आप पाठ है कि आप एक संपत्ति के रूप में बदल सकते हैं और में इसका उपयोग करना चाहते स्टोर कर सकते हैं:

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    let cell = super.tableView(tableView, cellForRowAtIndexPath: indexPath) 

    switch (indexPath.section, indexPath.row) { 
    case (0, 3): 
     cell.textLabel?.text = yourProperty 

    default: break 
    } 

    return cell 
} 
संबंधित मुद्दे