2012-04-26 3 views
8

मैं UITableView के दाईं ओर प्रदर्शित खंड सूचकांक में शब्द रैप करने के लिए चाहते हैं।क्या यह संभव है UITableViewSectionIndex में शब्द रैप करने के लिए?

समस्या यह है कि, यदि शब्द लंबाई बढ़ता है तो अनुभाग सूचकांक चौड़ाई भी बढ़ जाती है और तालिका दृश्य सेल सामग्री दृश्य आकार कम हो जाता है। और मैं सेक्शन इंडेक्स सरणी ऑब्जेक्ट के सबस्ट्रिंग को प्रदर्शित नहीं करना चाहता हूं। क्योंकि मैं पूरा शब्द प्रदर्शित करना चाहता हूं खंड में मुझे इसे लपेटना है। sectionIndextitle विधि द्वारा सरणी बदले में

-(NSArray*) sectionIndexTitlesForTableView:(UITableView *)tableView 
{ 
    NSMutableArray *array = [[NSMutableArray alloc] init]; 

    for (int i = 0; i <[keys count]; i++) { 
     NSString *str = [self.keys objectAtIndex:i]; 
      [array addObject:str]; 
    } 

    NSArray *a =[NSArray arrayWithArray:array]; 
    [array release]; 
    return a; 
} 

वस्तु लंबा है और मैं शब्द रैप करने के लिए चाहते हैं।

कोई नहीं जानता कि यह कैसे किया जा सकता है?

enter image description here

+0

अपने कोड पोस्ट करें समस्या के बेहतर विचार के लिए। –

+0

क्या कोई सेक्शन इंडेक्स मल्टी-लाइन खिताब भी देता है? मुझे शक है।लेकिन आप इसे '@ "एक \ n दो" 'to' str 'जैसे कुछ असाइन करके देख सकते हैं और देखें कि क्या होता है। यदि यह काम करता है, तो आप शीर्षक तारों को तोड़ने के लिए अपनी खुद की विधि लिख सकते हैं ताकि वे किसी दिए गए चौड़ाई में फिट हो जाएं। (चूंकि टेबल टाइटल केवल सादा-वेनिला एनएसएसटींग्स ​​स्वीकार करते हैं, इसलिए यह संभावना नहीं है कि कोई ऑटोवॉपिंग तंत्र उपलब्ध है।) – Wienke

+0

मैंने पहले से ही यह जांच कर लिया है कि \ n यह वेब पेज पर काम करेगा, इंडेक्स – Warewolf

उत्तर

0

ऐसा लगता है कि आपका जवाब नहीं है, लेकिन निम्नलिखित अपने प्रश्न के पीछे समस्या का समाधान करना चाहिए। viewForHeaderInSection:

मैं इस समारोह के बजाय tableView का प्रयोग करेंगे UITableViewDelegate प्रोटोकॉल पर। अधिक जानकारी दस्तावेज में UITableViewDelegate Docs में पाई जा सकती है। नोट - तालिका दृश्य: heightForHeaderInSection: भी लागू किया जाना चाहिए। कार्यों के इस संयोजन आप एक UILabel subview 0 पर सेट numberOfLines है, आवश्यक के रूप में अर्थात के रूप में कई, और पाठ आप जो भी मान की जरूरत करने के लिए सेट के साथ एक दृश्य के वापस जाने के लिए अनुमति देगा।

+0

मैं कार्यों के संयोजन का उपयोग करने के अपने तरीके को समझ नहीं पा रहा हूं। कृपया इसे समझाएं ... – Warewolf

+0

@ डेव, वह वह नहीं है जो वह पूछ रहा है। वह दाहिने तरफ सेक्शन इंडेक्स के लिए पूछ रहा है, हेडर विचार नहीं। मुझे संदेह है कि आपकी समस्या का समाधान है। –

+0

@ AngelGarcíaOlloqui मेरी गलती –

0

यह कई लाइनों के लिए खंड अनुक्रमित रैप करने के लिए संभव नहीं है। यह डिफ़ॉल्ट यूआई में समझ में नहीं आता है। इसे पूरा करने के लिए एक कस्टम हेडर आपकी सबसे अच्छी शर्त है।

2

आप केवल एक कस्टम UIView

के रूप में अपने "खंड सूचकांक दृश्य" बना सकते हैं और यह eazy कि

सिर्फ अपने tableview की ऊंचाई calc करना है, अपने वर्गों की गिनती calc

तो

- (void)drawRect:(CGRect)rect 

में इस पर अपनी अनुभाग शीर्षक आकर्षित तो स्पर्श घटना का पता लगाने के

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event 

calc जो अनुभाग आप को छुआ, तो tableview विधि

- (void)scrollToRowAtIndexPath:(NSIndexPath *)indexPath atScrollPosition:(UITableViewScrollPosition)scrollPosition animated:(BOOL)animated; 

फोन तो अपने tableview पर डाल दिया, eazy किया है!

0

अनुभाग के लिए एक कस्टम शीर्षक शीर्षलेख बनाएँ। वहां आप लेबल का उपयोग कर सकते हैं और शीर्षक की लंबाई के आधार पर इसमें लाइनों की संख्या असाइन कर सकते हैं। आपको तदनुसार सेक्शन हेडर की ऊंचाई सेट करने की भी आवश्यकता होगी।

0

NSMutableArray में जोड़ने से पहले बस 'str' जांचें, क्या इसमें एक या अधिक शब्द है? और श्रेणी का चयन करें कि आप कितना चाहते हैं और वर्णों की श्रेणी बनाने के लिए, यह है कि आप प्रत्येक अनुभाग के सूचकांक में दिखाना चाहते हैं .. आपके सरणी में इसे जोड़ने के

का उपयोग NSmakeRange ..

+0

क्षमा करें, लेकिन मैं संक्षिप्त शब्दों को नहीं दिखाना चाहता हूं, मैं अनुभाग इंडेक्स में शब्द को लपेटना चाहता हूं यदि इसकी लंबाई सेक्शन इंडेक्स चौड़ाई – Warewolf

+0

से अधिक है तो शब्द को अपने आप को –

+0

के रूप में लपेटने के लिए एक तर्क लिखें अपने पाठ से "रिक्त स्थान" और सेक्शनइंडेक्स चौड़ाई प्राप्त करें। और यदि स्पेस मिलान -5 या +5 सेक्शन इंडेक्स चौड़ाई के बीच है तो शब्द को अगले स्थान पर लपेटें .. –

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