objective c - Custom UITableViewCell contentView height -


मेरे पास कस्टम 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