मैं यह जानने की कोशिश कर रहा हूं कि UITableViewCellStyleiOS 6 में नए तरीकों का उपयोग करते समय कैसे सेट किया जाए UITableView।
इससे पहले, जब UITableViewCellमैं I UITableViewCellStyleबना रहा था initWithStyle:, तो कॉल करते समय विभिन्न प्रकार की डिफ़ॉल्ट सेल बनाने के लिए enum को बदल देगा, लेकिन जो मैं इकट्ठा कर सकता हूं, वह अब ऐसा नहीं है।
UITableViewराज्यों के लिए Apple प्रलेखन :
रिटर्न वैल्यू : संबंधित पुनः उपयोग पहचानकर्ता के साथ एक UITableViewCell ऑब्जेक्ट। यह विधि हमेशा एक मान्य सेल लौटाती है।
चर्चा : प्रदर्शन के कारणों के लिए, एक टेबल व्यू के डेटा स्रोत को आमतौर पर यूआईटेबल व्यूसेल ऑब्जेक्ट्स का पुन: उपयोग करना चाहिए जब यह अपने टेबल में पंक्तियों को सेल असाइन करता है: cellForRowAtIndexPath: विधि। तालिका दृश्य UITableViewCell ऑब्जेक्ट्स की एक कतार या सूची बनाए रखता है जिसे डेटा स्रोत ने पुन: उपयोग के लिए चिह्नित किया है। तालिका दृश्य के लिए एक नया सेल प्रदान करने के लिए कहा जाने पर अपने डेटा स्रोत ऑब्जेक्ट से इस विधि को कॉल करें। यदि कोई व्यक्ति उपलब्ध है या आपके द्वारा पहले पंजीकृत की गई कक्षा या निब फ़ाइल के आधार पर कोई नया बनाता है, तो यह विधि एक मौजूदा सेल को नष्ट कर देती है।
महत्वपूर्ण : आपको registerNib का उपयोग करके एक वर्ग या नीब फ़ाइल पंजीकृत करनी चाहिए: forCellReuseIdentifier: या registerClass: forCellReuseIdentifier: इस विधि को कॉल करने से पहले विधि।
यदि आपने निर्दिष्ट पहचानकर्ता के लिए एक वर्ग पंजीकृत किया है और एक नया सेल बनाया जाना चाहिए, तो यह विधि सेल को उसके initWithStyle: reuseIdentifier: पद्धति से कॉल करके आरंभ करती है। निब आधारित कोशिकाओं के लिए, यह विधि प्रदान की गई निब फ़ाइल से सेल ऑब्जेक्ट को लोड करती है। यदि कोई मौजूदा सेल पुन: उपयोग के लिए उपलब्ध था, तो यह विधि इसके बजाय सेल की तैयारफोररियस विधि को कॉल करती है।
cellForRowAtIndexPathनए तरीकों को लागू करने के बाद यह मेरा नया रूप है:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellIdentifier = @"cell_identifier";
[tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:cellIdentifier];
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier forIndexPath:indexPath];
return cell;
}
मेरे पास अब तक का कोड ठीक काम करता है लेकिन हमेशा डिफ़ॉल्ट शैली देता है। मैं इसे कैसे बदल सकता हूं ताकि मैं अन्य शैलियों जैसे , और UITableViewCellStyleDefault, के साथ सेल बना सकूं ?UITableViewCellStyleValue1UITableViewCellStyleValue2UITableViewCellStyleSubtitle
मैं उप-वर्ग नहीं करना चाहता UITableViewCell, मैं सिर्फ डिफ़ॉल्ट प्रकार को बदलना चाहता हूं जैसा कि मैं iOS 6 से पहले कर सकता था। यह अजीब लगता है कि ऐप्पल अपने कार्यान्वयन का समर्थन करने के लिए बढ़ाया तरीके प्रदान करेगा लेकिन न्यूनतम प्रलेखन के साथ।
क्या किसी को इसमें महारत हासिल है, या इसी तरह की समस्या में भागना है? मैं किसी भी उचित जानकारी को पाने के लिए संघर्ष कर रहा हूँ।
UITableViewCellअन्य डिफ़ॉल्ट शैलियों को प्राप्त करने के लिए उपवर्ग होना एक दर्द है क्योंकि यह सिर्फ अनावश्यक फ़ाइलों को बनाता है। आपकी टिप्पणी के लिए धन्यवाद और मेरे संदेह की पुष्टि।