web-dev-qa-db-ja.com

UITableViewで空のセルを非表示にしないSwift

SwiftアプリケーションでUITableViewを使用しており、独自のカスタムUITableViewCellを使用しています。

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")
}
22
user3210784

解決策は次のとおりです。

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

よりクリーンなソリューションは次のとおりです。

tableView.tableFooterView = UIView(frame: CGRectZero)

他に何も必要ありません。

31
itsprof

スウィフト3

tableView.tableFooterView = UIView(frame:.zero)

3
Jason Silver

この問題のもう1つの簡単な解決策は、tableViewの画像で背景を設定することです。データ以外のセルに白い背景が必要な場合、またはテーブルビューの背景にカスタム画像を設定できる場合は、画像を真っ白にする必要があります。したがって、セルのあるデータは通常の背景を持ち、データ以外のセルの場合は背景画像が表示されます。

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

これらのいずれかがSwift 3.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)
0
David DelMonte

Swift:最も簡単な方法

tableView.tableFooterView = UIView()
0
Musa almatri