2011-03-30 9 views
13

मेरे UITableView में, मेरे पास एक टेबल हैडर व्यू जो सामग्री के अनुसार स्वयं का आकार बदलना चाहिए। आकार बदलना ठीक काम करता है, हालांकि, तालिका हैडरव्यू दृश्यों के पहले जोड़े को अस्पष्ट करता है। तालिका के फ्रेम को अपरिवर्तनीय रूप से बदलना हैडर व्यू शेष दृश्य को पुनर्गठित नहीं करता है।किसी तालिका की ऊंचाई बदलना हैडर व्यू कक्षों को छुपाता है

मैंने पहले से ही [self.tableView layoutSubViews] और [self.tableView setNeedsLayout] पर कॉल करने का प्रयास किया है, लेकिन वे या तो मदद नहीं करते हैं। इंटरफ़ेस बिल्डर से टेबल हेडर व्यू को उस फ्रेम को बदलने के लिए एक आउटलेट देने का भी प्रयास किया, लेकिन यह तालिका को पुनर्गठित नहीं करता है।

मैं तालिका के आकार को कैसे बदल सकता हूं, किसी भी कक्ष को छुपाए बिना, तालिका के बाकी हिस्सों को पुनर्गठित किए बिना?

+1

''myView setClipsToBounds: YES];' आपके 'viewForheaderInSection' में इनपुट करने का प्रयास करें, तो आप देख सकते हैं कि आप कितने आकार को देखते हैं – Seega

उत्तर

4

मुझे नहीं पता कि आपने यूआईटीबल व्यू कैसे बनाया है, लेकिन मैंने एक टेबल के साथ एक बनाने की कोशिश की है जैसे आप और यह आकार बदल रहा है।

मैं एक वर्ग UITableViewController

@interface MyTableViewController : UITableViewController { 

} 

@end 

से और कार्यान्वयन के लिए विरासत में, viewDidLoad में बनाया है, मैं कहा:

UIView *header = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 100)]; 
[header setBackgroundColor:[UIColor redColor]]; 
self.tableView.tableHeaderView = header; 

enter image description here

+0

मैंने टेबलव्यू कंट्रोलर के माध्यम से एक निब-फ़ाइल के साथ TableView बनाया है। वहां मैंने टेबल हैडर व्यू के लिए एक दृश्य जोड़ा और एक लेबल डाला जिसमें सामग्री शामिल है। मैं आईबीओलेट को समायोजित करके सामग्री और लेबल फ्रेम बदलता हूं। लेकिन तालिका के साथ ऐसा ही करना हैडरव्यू आईबीओलेट, टेबलव्यू को पुनर्गठित नहीं करता है। – SpacyRicochet

+2

अंत में, मैंने इंटरफेस बिल्डर में दृश्य बनाने के बिना इस विधि का उपयोग किया। धन्यवाद! – SpacyRicochet

+0

हे! ऐसा क्यों है कि मैं डीडलोड को देखने के लिए एक ही लाइन जोड़ता हूं और मैं उपरोक्त लाल ब्लॉक नहीं देख सकता हूं ?! –

22

UITableView की tableHeaderView संपत्ति सेट करने का प्रयास आपके सामग्री का आकार बदलने के बाद।

[self.tableView setTableHeaderView:self.myResizedTableHeaderView]; 

मेरे लिए समस्या हल हो गई। आशा करता हूँ की ये काम करेगा।

+3

विशेष रूप से मेरे लिए, मैंने व्यूविंग अपरिपर तक आकार बदलना स्थगित कर दिया: चूंकि मेरे नियंत्रक गतिशील रूप से तत्काल थे, और इसलिए तब तक संदर्भ के लिए कोई उचित ज्यामिति नहीं थी। – qix

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