निम्नलिखित कोड में, यदि हम [cell addSubview: someLabel]
बनाम [cell.contentView addSubview: someLabel]
बनाते हैं, तो वे वही काम करते हैं। क्या एक या दूसरे में कोई अंतर है? (UIView
(वास्तविक कोड में कस्टम सेल UIImageView
और UILabel
जोड़ रहा है), दूसरे हाथ पर, contentView
नहीं है, तो हम अपने contentView
को subview जोड़ने की जरूरत नहीं है। UITableViewCell
माध्यम से UIView
का एक उपवर्ग है)आईओएस पर, UITableViewCell ऑब्जेक्ट "सेल" बनाम "cell.contentView" में सबव्यू जोड़ने के बीच क्या अंतर है?
-(UITableViewCell *) tableView:(UITableView *) tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = nil;
if ([tableView isEqual:self.songsTableView]){
static NSString *TableViewCellIdentifier = @"MyCells";
cell = [tableView dequeueReusableCellWithIdentifier:TableViewCellIdentifier];
if (cell == nil){
cell = [[UITableViewCell alloc]
initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:TableViewCellIdentifier];
}
// ... some code to create a UILabel (not shown here)
[cell addSubview: someLabel]; // vs using [cell.contentView addSubView: ...]
हाँ मुझे लगता है कि सेल के अन्य क्षेत्रों में हस्तक्षेप नहीं करना है ... लेकिन दिलचस्प बात यह है कि, अगर मैं 'contentView' का उपयोग करता हूं, तो हटाएं आइकन' हटाएं 'बटन ला सकता है, और यह सामग्री को कवर करता है क्षेत्र –
और यह एक्सेसरी के नीचे भी दिखाता है, भले ही सामग्री दृश्य का उपयोग किया जाता है, लेकिन शायद यह सामग्री के कारण सामग्री क्षेत्र से परे कुछ दिखा रहा है, और यह पुष्टि की जाती है कि क्या मैं सामग्री पर 'x = 0' पर एक छवि दिखाता हूं क्षेत्र, और उसके बाद इसे 'x = -16' में बदलें, और यह संपादन क्षेत्र में हटाए गए आइकन के नीचे भी जाएगा। –