भरने के लिए स्वचालित रूप से सामग्री का आकार बदलता है मैंने इंटरफेस बिल्डर के माध्यम से UITableView
के हेडर सेक्शन में UIButton
जोड़ा है और कुछ मामलों में बटन तक पहुंच को हटाना चाहते हैं। मैंने .hidden = TRUE
प्रॉपर्टी का उपयोग करने का प्रयास किया है, लेकिन यह दृश्य के बटन को छुपाता है, जिससे पीछे एक सफेद जगह छोड़ दी जाती है। मैं UITableView
के हेडर को प्रोग्रामेटिक रूप से कैसे हटा सकता हूं और हटाए गए हेडर क्षेत्र को भरने के लिए तालिका की सामग्री स्वचालित रूप से आकार बदलती है?प्रोग्रामेटिक रूप से UITableView के शीर्षलेख को हटा दें और हटाए गए क्षेत्र
उत्तर
यदि आप तालिका के शीर्षलेख दृश्य को हटाना चाहते हैं, तो बस myTable.tableHeaderView प्रॉपर्टी को शून्य पर सेट करें। यदि आप वास्तव में है एक अनुभाग शीर्ष लेख है, तो आप viewForHeaderInSection विधि से शून्य लौट सकते हैं और फोन [myTableView reloadData]
करने की जरूरत है आप भी कर सकता है:
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
return 0.0;
}
इस के लिए मेरे (एकल काम करने के लिए लगता है) सेक्शन हेडर और reloadData
की आवश्यकता से बचाता है।
ध्यान दें कि:
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
अभी भी कहा जाता है, लेकिन इसकी वापसी मान पर ध्यान नहीं दिया जा रहा है।
धन्यवाद @ मार्टिनस्टैनले ने यह ठीक काम किया और मुझे 'reloadData' विधि को कॉल करने की आवश्यकता नहीं थी। –
यदि हेडर वर्तमान में स्क्रीन पर है, तो मुझे संदेह है कि 'रीलोडडाटा' को कॉल करने से कुछ भी बदलेगा, भले ही आप सशर्त रूप से ऊंचाई से 0 वापस लौटें, फ़ोरहेडर इनसेक्शन, क्योंकि तालिका को हेडर-स्क्रीन आने तक हेडर की जांच करने की आवश्यकता नहीं होती है और आता है फिर से स्क्रीन पर वापस। कॉलिलिंग 'रीलोडडाटा' सभी मामलों में सेक्शन हेडर को हटाने की गारंटी देने का एकमात्र तरीका है। – Bogatyr
इसे 0 पर सेट करने से संसाधनों को बर्बाद कर दिया गया है। दृश्य से शून्य वापस करें हेडर टेबल को छिपाने से बेहतर है। –
मैं एक बूलियन संपत्ति removeHeader
बुलाया बनाया और फिर जब कभी मैं अपने हैडर निकालना चाहते हैं मैं फोन:
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
if removeHeader {
return 0.0
} else {
let height = self.tableView.sectionHeaderHeight
return height
}
}
:
फिर जब मेरी tableView पुन: लोड यह इस tableView प्रतिनिधि विधि कॉल करेंगे वह चाल है! धन्यवाद! (जब मैं अधिक प्रतिनिधि अंक प्राप्त करता हूं, तो मैं वोट दूंगा!) – code007
सरल और सीधा, बहुत बहुत धन्यवाद। – Felipe
ओपी में सहायक होगा प्रश्न के शीर्षक को अद्यतन कर सकता है ताकि यह स्पष्ट हो सके कि वह सेक्शन हेडर के बारे में बात कर रहा है, न कि तालिका दृश्य शीर्षलेख। – wuf810