こんにちは私はTableViewController
2つの静的セルを持つを持っていますが、表示すると、2つの静的セルが表示され、次にテーブルビューの他のすべての空のセルが表示されます。ただし、それらのセルは役に立たないため、表示したくありません。2つの静的セルから離れた残りのセルを非表示にするにはどうすればよいですか?
こんにちは私はTableViewController
2つの静的セルを持つを持っていますが、表示すると、2つの静的セルが表示され、次にテーブルビューの他のすべての空のセルが表示されます。ただし、それらのセルは役に立たないため、表示したくありません。2つの静的セルから離れた残りのセルを非表示にするにはどうすればよいですか?
回答:
viewDidLoad()
関数に次のコード行を追加します。
tableView.tableFooterView = UIView()
NSTableView
ますか?ありませんtableFooterView
。
tableView.tableFooterView = UIView()
これに追加して、行tableFooterView
をUIView()
削除するように設定する理由はUIView()
、プロパティに空のオブジェクトを設定しているためです。アップルのドキュメントによると:
var tableFooterView: UIView?
したがって、空のUIView()を設定しても、このプロパティのデータの下には何も表示されません。
次のtableFooterView
ようにデフォルト値にリセットすることで、空の行を戻すことができます。
tableView.tableFooterView = nil
Swift 4 HorseTの答えを詳しく説明します。まず、ストーリーボードのテーブルビューからビューコントローラークラスにドラッグを制御し、tableViewというアウトレットを作成します。
@IBOutlet weak var tableView: UITableView!
次に、View ControllerのviewDidLoadは次のようになります。
override func viewDidLoad() {
super.viewDidLoad()
tableView.dataSource = self
tableView.delegate = self
tableView.tableFooterView = UIView()
}
UITableViews
アプリのすべての行を削除する場合は、次のような拡張機能を追加します。
Swift 5.0
extension UITableView {
override open func didMoveToSuperview() {
super.didMoveToSuperview()
self.tableFooterView = UIView()
}
tableview.tableFooterView = UIView()を試しましたが、うまくいきませんでした。私はカスタムTableViewViewCellを使用しています。おそらくそれが理由です。
私はハックを見つけました。私のfuncでnumberOfRowsInSection
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return yourArrayClass.count - 1
}
そして、それにより、余分な空白のカスタムUITableViewCellが表示されなくなります。もちろんその余分な空白の1つです。セルを追加して、さらにテストします。参考までに、カスタムセルクラスであるSwift 3、FirebaseをcellForRowAt関数内で使用しています。