UITableView का सेल हाइलाइट रंग निकालें


110

मैं uitableview सेल चयन के डिफ़ॉल्ट नीले रंग को हटाना चाहता हूं। मुझे वहां कोई चयन रंग नहीं चाहिए। मैंने एक कस्टम सेल क्लास नहीं बनाया है। मैं इस पर लेबल और बटन जोड़कर सेल को अनुकूलित कर रहा हूं। मैंने करने की कोशिश की:

cell.selectioncolor = [UIColor clearcolor];

लेकिन यह कहता है कि यह विधि पदावनत है।

जवाबों:


321
cell.selectionStyle = UITableViewCellSelectionStyleNone;

में स्विफ्ट 4 अद्यतन

cell.selectionStyle = UITableViewCell.SelectionStyle.none

या

cell.selectionStyle = .none

3
मैंने उस कोड को CellForRowAtIndexPath में रखा है: क्या वह सही जगह है?
पवनवीस

9
@Pawriwes, हाँ। अगर मुझे सही से याद है तो आप उस सेल के XIB में भी प्रॉपर्टी सेट कर सकते हैं यदि आप इंटरफ़ेस बिल्डर
व्लादिमीर

4
यदि मैं ऐसा करता हूं, जब संपादन करते हैं, तो यह सेल का चयन नहीं करता है :(
आसिफहिब

54

में इस का चयन करें StoryboardयाXIB


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


7
यदि आप कक्षों का चयन नहीं करते हैं , तो अतिरिक्त, आपको "टेबल व्यू सेल " की जांच करनी होगी ।
कर्नेलजरो

2
@ पुलकित जो सत्य नहीं है। यह केवल सेल की चयन स्थिति को अक्षम करेगा। इससे इसमें प्रदर्शित किए जा रहे डेटा या इसे इंटरेक्ट करने से कोई लेना-देना नहीं है। यह सुनिश्चित करने के लिए जांचें कि आपके पास सभी उचित पंजीकरण सेट हैं और अन्य कार्यों को ओवरराइड नहीं कर रहे हैं।
माइकल

यह पूरी तरह से गलत है
Fattie

12
// Swift 2.0

cell.selectionStyle = UITableViewCellSelectionStyle.None

5
या आप एनम मान को सीधे सेल में उपयोग कर सकते हैं। सेलेक्शन सिस्टल =। कोई भी
स्टीव


6

उद्देश्य सी:

cell.selectionStyle = UITableViewCellSelectionStyleNone;

या

[cell setSelectionStyle:UITableViewCellSelectionStyleNone];

स्विफ्ट 4:

self.selectionStyle = UITableViewCellSelectionStyle.none;

स्विफ्ट 3:

cell.selectionStyle = .none

स्विफ्ट 2:

cell.selectionStyle = UITableViewCellSelectionStyle.None

यदि आप स्टोरीबोर्ड / Xib का उपयोग करके इसे बदलना चाहते हैं, तो बस उस सेल का चयन करें जिसे आप "चयन शैली प्रभाव" को हटाना चाहते हैं और इसे "कोई नहीं" के रूप में परिभाषित करना चाहते हैं। यह जादू की तरह काम करेगा: डी

स्टोरीबोर्ड / Xib


1
स्विफ्ट 4: cell.selectionStyle = UITableViewCell.SelectionStyle.none
नौसेना हसन

5

तालिका दृश्य चयन शैली को सेट करना .noneमेरे ऐप में तालिका के जवाबदेही और प्रदर्शन को प्रभावित कर रहा था ( didSelectRowAt indexPathनल देरी हो रहे थे)। इस समस्या का मेरा समाधान यह था कि awakeFromNib()जब सेल पहली बार बनाई जाए तो चयनित पृष्ठभूमि दृश्य को छिपा दिया जाए:

selectedBackgroundView?.isHidden = true



2

यह करने के सेल में :

class YourCell:  UITableViewCell {
    
    override func didMoveToSuperview() {
        selectionStyle = .none
    }

    ...
}

इट्स दैट ईजी।


0

तेज ५

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "cell")
        cell.selectionStyle = .none

        return cell
    }  

0

सही उत्तर होना चाहिए:

cell.selectedBackgroundView?.backgroundColor = <choose your color>

चयन प्रकार एक अलग संपत्ति है जो जब .noneआप चाहते हैं कि अन्य अवांछित साइड-इफेक्ट्स का उत्पादन करने के लिए सेट किया जाए ।

यदि आप नहीं चाहते कि सेल हाइलाइट हो , तो इसके बैकग्राउंड व्यू का रंग वैसा ही बना दें, जब यह हाइलाइट नहीं होता है ।

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