मेरे पास कस्टम UITableViewCell
:
@interface PostCell ( ) @ प्रॉपर्टी (कमजोर, नॉनैटोमिक) आईबीओटलेट पोस्टव्यू * पोस्टव्यू; @end @implementation PostCell - (शून्य) setPost: (पोस्ट *) newPost {self.postView.post = newPost; }
< कोड> पोस्ट
मॉडल
सेPostCell
जो उसके बादमॉडल
सेPostView
उपदृश्य < / Code> और
मेंPostView
उपदृश्य
पोस्ट
मॉडल
:की सामग्री के आधार पर स्वयं को खींचता है <- (UITableViewCell *) तालिकादृश्य: (UITableView *) तालिका दृश्य सेलफोराअटइंडपैथ: (NSIndexPath *) सूचकांकपथ {स्थिर NSString * CellIdentifier = @ "PostCell"; PostCell * postCell = (PostCell *) [टेबलव्यू डेक्यूवर पुन: प्रयोज्य सेल विथआईडेंटिफायर: इंडीडेपैथ के लिए सेलआईडेंटिफाइड: इंडेक्सपेथ]; // सेल कॉन्फ़िगर करें ... पोस्ट * पोस्ट = self.displayPosts [indexPath.row]; [पोस्टकेल सेट पोस्टः पोस्ट]; वापसी पोस्टकाले; }
मुझे आशा है कि यह अच्छा तरीका है, मैंने कुछ सेब के कस्टम यूआईटीबल वीउव उदाहरण के बारे में संदर्भ दिया है।
चलिए कहते हैं कि
पोस्ट
< कोड> मॉडलशीर्षक
औरछवि
गुण हैं। चूंकि प्रत्येक पोस्टव्वेज अलग होगाऊंचाई
मैं उसऊंचाई
की गणना कैसे कर सकता हूं और इसेheightForRowAtIndexPath
पर वापस लौटा सकता / सकती हूं?क्या यह इस पद्धति को मेरे कस्टम
UITableView
कक्ष में जोड़ने के लिए अच्छा:- (CGFloat) ऊँचाईफॉरसेल {वापसी self.postView.frame.size.height; }
और फिर
- (CGFloat) तालिका दृश्य: (UITableView *) तालिका दृश्य ऊंचाई ForRowAtIndexPath: (NSIndexPath *) indexPath {// यहाँ हमें कस्टम की आवश्यकता होगी छवि और पाठ के आधार पर ऊँचाई पोस्टकाले * पोस्टसीएल = (पोस्टकाले *) [तालिका दृश्य सेलफोररावऐटइंडएक्सपाथ: इंडेक्सपेथ]; वापसी [postCell heightForCell]; }
मैंने इसे करने की कोशिश की है लेकिन
PostCell * postCell = (PostCell *) [tableView cellForRowAtIndexPath: indexPath];
मुझे अपवाद फेंकता है।
पहले मुझे यह जानना अच्छा लगेगा कि उसका अच्छा तरीका क्या है और यदि ऐसा है तो मैं उस अपवाद विराम को हटाने के साथ जा सकता हूं।
आपका सेल अभी तक बनाया नहीं गया है जब - (CGFloat) tableView: (UITableView *) tableView heightForRowAtIndexPath :( एनएसआईएनएक्सएपथ *) इंडेक्सपाथ
को बुलाया जाता है (यही कारण है कि आपको अपवाद मिलता है)। सबसे अच्छा तरीका यह है कि आप अपने पोस्ट
ऑब्जेक्ट को इसे cellHeight
कॉल में नई प्रॉपर्टी जोड़ते हैं, और इस ऑब्जेक्ट में सेल की ऊंचाई को बचाते हैं। फिर post.ellHeight
Comments
Post a Comment