我正在尝试基于另一个tableview列表创建一个tableview。我想让一个单独的单元格在它内部没有任何价值时消失(不是FOOTER!)。到目前为止,我已尝试使用带条件的heightatRow函数,但它无法正常工作。如果单元格内没有文本,我如何使高度= 0或者是否有另一种方法可以使单元格消失
这是我到目前为止的代码:
import UIKit
class ThirdViewController: UIViewController,UITableViewDataSource, UITableViewDelegate {
@IBOutlet weak var myTableViewTwo: UITableView!
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{
return(3)
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
{
let cellTwo = UITableViewCell(style: UITableViewCellStyle.default, reuseIdentifier: "cellTwo")
cellTwo.textLabel?.text = foodA[indexPath.row]
return(cellTwo)
}
private func tableView(_ tableView: UITableView, heightForRowAt indexPath: NSIndexPath) -> CGFloat {
if food1 == "\(Acerra) cups of Kale"
{
return UITableViewAutomaticDimension
}
if food1 == ""
{
return 0
}
if food2 == "\(Acacia) cups of Quinoa"
{
return UITableViewAutomaticDimension
if food2 == ""
{
return 0
}
if food3 == "\(Raeva) cups of Apple"
{
return UITableViewAutomaticDimension
}
if food3 == ""
{
return 0
}
else {
return 45
}
}
func viewDidLoad() {
super.viewDidLoad()
if list.contains("Kale")
{
let cupsKale = "\(Acerra) cups of Kale"
food1 = String(cupsKale)
if list.contains("Quinoa")
{
let cupsQuinoa = "\(Acacia) cups of Quinoa"
food2 = String(cupsQuinoa)
}
if list.contains("Apple")
{
let cupsApple = "\(Raeva) cups of Apple"
food3 = String(cupsApple)
}
}
}
func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
我想要" ___杯羽衣甘蓝之间的空间"和" ____杯苹果"因为用户没有选择Quinoa而消失。然而它正在为它留下空间!任何帮助是极大的赞赏!我对swift很新。