ios - UITableView में रिक्त कक्षों को कैसे निकालें?




objective-c (8)

एक्सकोड 6.1 पर तेजी से कार्यान्वित

self.tableView.tableFooterView = UIView(frame: CGRectZero)
self.tableView.tableFooterView?.hidden = true

कोड की दूसरी पंक्ति प्रस्तुति पर कोई प्रभाव नहीं डालती है, आप यह जांचने के लिए उपयोग कर सकते हैं कि छुपा हुआ है या नहीं।

UITableView स्विफ्ट में खाली कोशिकाओं को छुपाने के लिए इस लिंक से लिया गया उत्तर विफल

इस प्रश्न का उत्तर यहां दिया गया है:

मैं कुछ डेटा के साथ एक सरल UITableView प्रदर्शित करने की कोशिश कर रहा हूँ। मैं UITableView की स्थिर ऊंचाई सेट करना चाहता हूं ताकि यह तालिका के अंत में खाली कोशिकाओं को प्रदर्शित न करे। मैं उसको कैसे करू?

कोड:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 
    NSLog(@"%d", [arr count]);
    return [arr count];
}

दृश्य में लोड करें:

self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];

मैंने कोड की कोशिश की:

tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];

दृश्य में डीडलोड अनुभाग और xcode6 ने एक चेतावनी दिखायी। मैंने एक "आत्म" रखा है। इसके सामने और अब यह ठीक काम करता है। इसलिए मैं जिस वर्किंग कोड का उपयोग करता हूं वह है:

self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];

या आप 1 बिंदु में पाद लेख की ऊंचाई सेट करने के लिए tableView विधि को कॉल कर सकते हैं, और यह एक अंतिम पंक्ति जोड़ देगा, लेकिन आप इसे पाद लेख पृष्ठभूमि रंग सेट करके भी छुपा सकते हैं।

कोड:

func tableView(tableView: UITableView,heightForFooterInSection section: Int) -> CGFloat {
     return 1
}

आखिरी पंक्ति की तरह दिखता है


स्टोरीबोर्ड में, UITableView चयन करें और संपत्ति शैली को Plain से Grouped संशोधित करें।


मैं अभी तक टिप्पणी नहीं जोड़ सकता हूं इसलिए इसे एक उत्तर के रूप में जोड़ना।

@ एंडी का जवाब अच्छा है और कोड के निम्न पंक्ति के साथ एक ही परिणाम प्राप्त किए जा सकते हैं:

tableView.tableFooterView = [UIView new];

'नई' विधि NSObject क्लास से संबंधित है और UIView के लिए आवंटन और init विधियों का आह्वान करता है।


स्विफ्ट 3 वाक्यविन्यास:

tableView.tableFooterView = UIView(frame: .zero)

स्विफ्ट वाक्यविन्यास: <2.0

tableView.tableFooterView = UIView(frame: CGRect.zeroRect)

स्विफ्ट 2.0 वाक्यविन्यास:

tableView.tableFooterView = UIView(frame: CGRect.zero)

override func viewWillAppear(animated: Bool) {
    self.tableView.tableFooterView = UIView(frame: CGRect.zeroRect)

/// OR 

    self.tableView.tableFooterView = UIView()
}




uitableview