2011-08-29 32 views
10

मैंने टेबल टेल को अनुकूलित करने के साथ एक UITableView बनाया है, आमतौर पर इस ट्यूटोरियल का पालन करते हुए;UITableView - चयनित सेल को हाइलाइट करना [आईओएस]

http://www.theappcodeblog.com/?p=353

मैं अपने आवश्यकताओं के यह कस्टमाइज़ कर लिया है और यह शानदार लग रहा है। हालांकि, जब मैं एक पंक्ति का चयन करता हूं तो यह पूरी चीज को नीले रंग से बदलकर उस पंक्ति को हाइलाइट करता है। इस हाइलाइट में पूरे सेल को शामिल किया गया है और सामग्री को ओवरराइड करता है, जो प्रभावी रूप से एक बड़ा नीला बॉक्स बना देता है जो बुरा दिखता है। मैं

जाहिर की वैकल्पिक प्रकाश डाला विकल्पों की कोशिश की है, तो ग्रे के रूप में चुना, एक ही व्यवहार होता है लेकिन एक ग्रे बदसूरत बॉक्स के साथ। मिनट में वांछनीय विकल्प 'कोई नहीं' है, लेकिन मेरे उपयोगकर्ताओं को अच्छा अनुभव नहीं देता है क्योंकि मैं कुछ संकेत देना चाहता हूं कि उन्होंने उस पंक्ति का चयन किया है।

क्या कोई यह दिखाने का तरीका सुझा सकता है कि पंक्ति ऊंची है, लेकिन फिर भी नीचे पाठ दिखाएं? अर्ध अस्पष्टता?

धन्यवाद

उत्तर

11

शायद यह है क्योंकि आपके नमूना कोड स्थापित कर रही है है:

artistLabel.highlightedTextColor = [UIColor clearColor];

यह हाइलाइट होने पर कलाकार लेबल का टेक्स्ट रंग पारदर्शी बन जाएगा।

आप उदाहरण के लिए, अपने लेबल 'highlightedTextColor संपत्ति के लिए अपने स्वयं के रंग सेट कर सकते हैं कारण के

:

[UIColor whiteColor]

+0

क्या एक पूर्ण बेवकूफ मैं कर रहा हूँ, धन्यवाद। सरल जवाब, जो पूरी तरह से काम किया। धन्यवाद –

+1

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

+0

मैं हमेशा करता हूं। मेरे पास पूछे जाने वाले 100% प्रश्न हैं। एक बार फिर धन्यवाद। –

4

यू चयन करने के लिए उर खुद कस्टमाइज़ेशन दृश्य का उपयोग कर सकते

यहाँ

मैं हरे रंग दृश्य है इस तरह आप उस पर जो भी अनुकूलन बदलना चाहते हैं उसे बदल सकते हैं।

if (cell == nil) { 

    cell = [[[UITableViewCell alloc] initWithFrame: CGRectZero 
            reuseIdentifier: CellIdentifier] autorelease]; 


    UIView *selectionView = [[UIView alloc]initWithFrame:cell.bounds]; 

    [selectionView setBackgroundColor:[UIColor greenColor]]; 

    cell.selectedBackgroundView = selectionView; 


    [selectionView release]; 

} 
8

UITableView सेल चयनित रंग

का आनंद लें ...

// Image 
UIImage *selectionBackground = [UIImage imageNamed:@"g7.png"]; 
UIImageView *bgview=[[UIImageView alloc] initWithImage:selectionBackground]; 
cell.selectedBackgroundView=bgview; 
[bgview release]; 

या

// Color 
UIView *bgColorView = [[UIView alloc] init]; 
[bgColorView setBackgroundColor:[UIColor brownColor]]; 
[cell setSelectedBackgroundView:bgColorView]; 
[bgColorView release]; 
+0

कूल। आईओएस 7 में रंग काम करता है। – Tom

+0

मैं भी [सेल सेट चयन चयन: UITableViewCellSelectionStyleNone] को कॉल करने की अनुशंसा करता हूं जो इसे चयनित होने पर परिधि पर सफेद आयताकार से कोशिका को रोकता है। –

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