2014-06-28 6 views
21

मैं एक त्वरित एप्लिकेशन में UITableView का उपयोग कर रहा हूं, और अपने स्वयं के कस्टम UITableViewCell का उपयोग कर रहा हूं।UITableView स्विफ्ट में खाली कोशिकाओं को छिपाने में विफल

UITableView में खाली कोशिकाओं को छिपाने की कोशिश करते समय, इसकी अभी भी सफेद पृष्ठभूमि है।

UITableView के तहत मेरे पास पृष्ठभूमि छवि (UImageView) है। समाधान

override func viewDidLoad() { 
    super.viewDidLoad() 
    var tblView = UIView(frame: CGRect(x: 0,y: 0,width: 0,height: 0)) 
    tblView.backgroundColor = UIColor.clearColor() 
    tableView.tableFooterView = tblView 

    var nipName=UINib(nibName: "CustomCell", bundle:nil) 
    self.tableView.registerNib(nipName, forCellReuseIdentifier: "CustomCell") 
} 

उत्तर

25

यहाँ है:

tableView.tableFooterView = UIView(frame: CGRect(x: 0, y: 0, width: 0, height: 0)) 
tableView.tableFooterView?.isHidden = true 
tableView.backgroundColor = UIColor.clear 
+1

'UIView में' छुपा 'नामक सदस्य नहीं है और वैसे भी वह लाइन आवश्यक नहीं है। – thefoyer

+0

tableFooterView वैकल्पिक है, तो उपयोग करें? और यह – derdida

30

I'v पहले से ही इस कोड का उपयोग उन कोशिकाओं छिपाने की कोशिश, और वास्तव में वे छिपे हुए हैं, लेकिन मैं अभी भी एक सफेद पृष्ठभूमि है,

एक क्लीनर समाधान है:

tableView.tableFooterView = UIView(frame: CGRectZero) 

और कुछ भी आवश्यक नहीं है।

+1

@ user3210784 काम करता है मेरा मानना ​​है कि शायद यह स्वीकार्य उत्तर होना चाहिए क्योंकि यह स्वीकार्य उत्तर से बहुत कम कोड के साथ काम करता है? –

+0

बिल्कुल सही जवाब। थोड़ा सा अतिरिक्त: आपको यह काम करने के लिए tableView के लिए IBOutlet का उल्लेख करना होगा। – pulp

0

इस समस्या का एक और आसान समाधान आपकी तालिका के लिए एक छवि के साथ पृष्ठभूमि सेट कर रहा है। छवि को सादे सफेद होना चाहिए यदि आपको अपने गैर-डेटा कोशिकाओं के लिए केवल एक सफेद पृष्ठभूमि की आवश्यकता है या आप अपनी कस्टम छवि भी सेट कर सकते हैं कोशिकाओं के साथ अपने tableview background.So डेटा सामान्य पृष्ठभूमि के लिए होता है और गैर डेटा सेल के लिए यह अपनी पृष्ठभूमि छवि दिखाएगा: स्विफ्ट 3.0 में मेरे लिए

self.tableViewName.backgroundColor = UIColor (patternImage: UIImage(named: 
"imageName.jpg")!) 
0

इन काम के किसी भी

विधि - 1

let footerView = UIView(frame: CGRect.zero) 
tableView.tableFooterView = footerView 
tableView.tableFooterView?.isHidden = true 
tableView.backgroundColor = UIColor.clear() 

विधि - 2

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

स्विफ्ट 3

tableView.tableFooterView = UIView (फ्रेम: .zero)

0

स्विफ्ट 3: सबसे आसान तरीका

tableView.tableFooterView = UIView() 
संबंधित मुद्दे