2010-04-15 13 views
11
  • क्या किसी ने UITableView में प्रदर्शित डिफ़ॉल्ट सेक्शन इंडेक्स को कस्टमाइज़ करने का प्रयास किया है।
  • मैं UITableView अनुभाग इंडेक्स की उपस्थिति को संशोधित करना चाहता हूं।
  • क्या इसे अनुकूलित करना संभव है?
  • क्या इसके लिए कोई प्रतिनिधि तरीका उपलब्ध है?
  • यदि मैं ऊपर दिए गए प्रश्न का उत्तर हाँ है तो मुझे किस प्रतिनिधि तरीके का उपयोग करना चाहिए?
  • I have uploaded an image for the sample check it out. http://www.freeimagehosting.net/uploads/6394404c4d.png

उत्तर

12

यह मानक सूचकांक दृश्य की तरह नहीं दिखता अनुकूलन योग्य है।

मेरे आवेदन में मैंने मानक मानक के बजाय कस्टम इंडेक्स व्यू बनाया है। असल में आपको बस उस दृश्य में ट्रैक टच स्थिति है और तदनुसार UITableView स्क्रॉल करें। आपको कुछ दृश्य प्रभाव जोड़ने की आवश्यकता हो सकती है - स्पर्श पर दृश्य का पृष्ठभूमि रंग बदलें और वर्तमान अनुभाग शीर्षक को हाइलाइट करें।

+0

हैलो, आप सूचकांक दृश्य आपके द्वारा बनाई गई के लिए कोड प्रदान करने में सक्षम हो जाएगा के लिए नमूना टुकड़ा है? –

1

https://github.com/Hyabusa/CMIndexBar

Hyabusa से इस प्लगइन का उपयोग करें। UITableView सूचकांक के लिए सरल प्रतिस्थापन कि रंग

CMIndexBar *indexBar = [[CMIndexBar alloc] initWithFrame:CGRectMake(self.view.frame.size.width-35, 10.0, 28.0, self.view.frame.size.height-20)]; 
[indexBar setIndexes:[NSMutableArray arrayWithObjects:@"A",@"B",@"C",@"D",@"E",@"F",@"G", nil]]; 
[self.view addSubview:indexBar]; 
[indexBar release]; 

प्रतिनिधि की स्थापना

- (void)indexSelectionDidChange:(CMIndexBar *)IndexBar:(int)index:(NSString*)title; 
+0

क्या UITableViewIndexSearch आइकन को CMIndexBar में जोड़ना संभव है? – Chris

1

स्विफ्ट संस्करण के लिए यह करना होगा की अनुमति देता है:

tableView.sectionIndexBackgroundColor = UIColor.clearColor() //iOS7+ 
tableView.sectionIndexTrackingBackgroundColor = UIColor.clearColor() //iOS6+ 
tableView.sectionIndexColor = UIColor.redColor() //iOS6+ 

सूचकांक दृश्य ऊंचाई (केवल UITableViewStylePlain शैली) को अनुकूलित करने के लिए:

tableView.sectionIndexMinimumDisplayRowCount = 15 
0

असल में वहाँ सरकारी एप्पल ऐसा करने के लिए उपलब्ध नहीं है। और यदि आप ऐसा करते हैं तो ऐप्पल आपको ऐप अस्वीकार कर सकता है। यदि आप इंडेक्सबार को कस्टमाइज़ करना चाहते हैं तो लाइब्रेरी के नीचे आपको मदद मिल सकती है।

आप कस्टम लाइब्रेरी संग्रहइंडेक्सटूल का उपयोग स्विफ्ट (आईओएस 8+) द्वारा कर सकते हैं, जिसे आप कस्टमाइज़ कर सकते हैं।

https://github.com/ReverseScale/CollectionIndexTools

यहाँ CollectionIndexTools

lazy var collectionViewIndex: CollectionViewIndex = { 
     let collectionViewIndex = CollectionViewIndex() 
     collectionViewIndex.indexTitles = ["c", "v", "t", "m", "n", "w", "e", "r", "t", "y", "u", "i", "o", "p", "h", "d", "c", "b", "q"] 
     collectionViewIndex.addTarget(self, action: #selector(FakeCollectionViewController.selectedIndexDidChange(_:)), for: .valueChanged) 
     collectionViewIndex.translatesAutoresizingMaskIntoConstraints = false 
     return collectionViewIndex 
    }() 
संबंधित मुद्दे