/ / कस्टम UITableView (UIView + सेल) - आईफोन, उद्देश्य-सी, uitableview

कस्टम UITableView (UIView + सेल) - आईफोन, उद्देश्य-सी, uitableview

मैंने पहले ही एक UIViewController बनाया है, जहां मैं टेक्स्ट, चित्र और अन्य जानकारी प्रदर्शित करता हूं। अब मैं इस दृश्य के तहत somes कोशिकाओं (तो एक tableView) डाल करने में सक्षम होना चाहता हूँ। उसे करने का सबसे अच्छा तरीका कौन सा है?

क्या मुझे एक UITableView बनाना है और मेरी तस्वीर, टेक्स्ट .. या अन्य संभावना के साथ एक शीर्षलेख बनाना है

सादर,

उत्तर:

जवाब के लिए 2 № 1

ठीक है मुझे एक समाधान मिल गया।

मैंने एक साधारण UITableView बनाया। उस तालिका के अंदर देखें मैंने एक फ़ंक्शन बनाया है:


-(void)setHeaderView {

self.myHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.tableView.frame.size.width, 300)];
self.tableView.tableHeaderView = self.myHeaderView;

}

और ViewWillAppear में मुझे बस इस फ़ंक्शन को कॉल करना होगा। इसलिए जब मैं एप्लिकेशन चलाता हूं तो यह दृश्य को प्रदर्शित करेगा और मेरे टेबल व्यू को देखेगा। मुझे नहीं पता था कि ऐसा आसान था।

सादर,


उत्तर № 2 के लिए 1

समाधान के बारे में आपकी पोस्ट के जवाब में: यकीन नहीं है, लेकिन आप रिलीज नहीं करना चाहिए myHeaderView के अंत में setHeaderView() ?


जवाब के लिए 0 № 3

यह इस बात पर निर्भर करता है कि आप UITableViewCells को देखना चाहते हैं। यदि आप सिर्फ टेक्स्ट की एक पंक्ति चाहते हैं तो कस्टम सेल बनाने की कोई आवश्यकता नहीं है, बल्कि इसके बजाय कोड में से एक बनाएं।

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

UITableViewCell *cell = [[UITableViewCell alloc] dequeueReusableCellWithIdentifier:@"someId"];

if (cell == nil) {
cell = [[[UITableViewCell alloc]
initWithFrame:CGRectZero
reuseIdentifier:someIdentifier] autorelease];
...
}

हालांकि, अगर आपको कुछ पाठ के साथ एक फोटो चाहिएUITableViewCell.xib फ़ाइल बनाना आसान होगा, UILabel, UIImageViews आदि जोड़ें, फिर ऊपर दिखाए गए तरीके के भीतर सेल बनाते समय

cell = [[[UITableViewCell alloc] initWithFrame ...

साथ में

NSArray *nib = [[NSBundle] mainBundle] loadNibNamed:@"YourNibCustomCellName" owner:self options:nil];
cell = [nib objectAtIndex:0];