2011-06-14 7 views
6

प्रदर्शित नहीं कर रहा है Im पूरी तरह से अनिश्चित है कि मेरा सहायक दृश्य क्यों काम नहीं कर रहा है। मैं बस कुछ पाठ UITableViewCell (साथ ही बाईं ओर) के दाईं ओर दिखाना चाहता हूं, लेकिन बाईं ओर केवल पाठ प्रदर्शित हो रहा है।UITableViewCell accessory

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

    UITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:@"SwitchCell"]; 

    if (cell==nil){ 
     cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:@"SwitchCell"] autorelease]; 
     UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(5, 0, 60, 30)]; 

     cell.textLabel.text = @"left text"; 
     label.text = @"right text"; 

     cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; 

     cell.accessoryView = label; 
     [label release]; 

    } 
    return cell; 
} 

कोई विचार? धन्यवाद।

+0

मेरा सुझाव है कि आप सही पहले लेबल संरेखण दें। डिफ़ॉल्ट लेबल संरेखण से छोड़ा जाना चाहिए। तो दूसरे के शीर्ष पर दो ग्रंथ एक समस्या हो सकती है। और फिर आप बस कह सकते हैं: [cell.contentView addSubView: लेबल]; –

उत्तर

24
cell.accessoryView = label; 

आप अपने accessoryView की स्थापना कर रहे हैं ताकि आप किसी भी प्रकटीकरण सूचक को देखने के लिए नहीं जा रहे हैं एक लेबल किया जाना है। आप इस तरह UITableViewCellStyleValue2 साथ यह init तो शीर्षक और अपने सेल में विस्तार से पाठ चाहते हैं ...

cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue2 reuseIdentifier:@"cellType"] autorelease]; 

... और फिर शीर्षक और इस तरह विस्तार ...

cell.textLabel.text = @"Title"; 
cell.detailTextLabel.text = @"Description"; 

करने के लिए सेट अलग तालिका में बनाया शैलियों की एक विचार प्राप्त जाँच निम्न छवि ...

enter image description here

आप पाठलेबल और detailTextLabel रों को समायोजित कर सकते हैं अपने स्वाद uit।

+0

हालांकि यह मेरे प्रश्न का सीधे जवाब नहीं देता है (मेरे पास एक ऐइलबेल है जो मेरे ऐप में कहीं और एक्सेसरीव व्यू के रूप में काम करता है, इसलिए मुझे यकीन नहीं है कि यह यहां क्यों काम नहीं कर रहा है), आपने निश्चित रूप से मुझे कुछ बेहतरीन विकल्प प्रदान किए हैं। हालांकि, मेरी मुख्य चिंता यह है कि पाठ छोटा हो जाता है। क्या इसके चारों ओर कोई रास्ता नहीं है (जब तक कि मैं अपने स्वयं के कस्टम सेल का उपयोग नहीं करता)? –

+0

ये विकल्प, मैंने निष्कर्ष निकाला है, जाने का सही तरीका था। –

+0

धन्यवाद, यह मेरी समस्या हल हो गया! –

6

यह क्यों? आप दोनों नहीं हो सकता है।

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; 
+0

सच है। मेरी गलती। लेकिन फिर भी, यदि आप कोड की उस पंक्ति को निकालते हैं तो मेरा प्रश्न अभी भी खड़ा है। –

3
-(id)initWithFrame:(CGRect)frame reuseIdentifier:(NSString *)reuseIdentifier 

iOS 3.0

में मूल्यह्रास हुआ था इसके बजाय का उपयोग करें: में

-(id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier 

पास या तो UITableViewCellStyleValue1 या UITableViewCellStyleValue2 और के रूप में आप की जरूरत है textLabel और detailTextLabel गुण सेट करें।

http://developer.apple.com/library/ios/#documentation/uikit/reference/UITableViewCell_Class/Reference/Reference.html%23//apple_ref/doc/uid/TP40006938-CH3-SW34

0

UITableViewCellStyleValue2 मुझे एक अजीब शैली देता है। मुझे लगता है कि सबसे अधिक अनुरोधित शैली UITableViewCellStyleValue1 है (कम से कम मेरे मामले के लिए)।

0

यह भी याद रखें: यदि आपके पास कस्टम एक्सेसरी व्यू है तो accessoryType प्रॉपर्टी को अनदेखा किया जाता है। तो, कोड की यह रेखा अधिक है।