如何使单个tableview单元格消失或更改height = 0?

时间:2017-05-25 18:33:57

标签: swift

我正在尝试基于另一个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.
    }
}

List of Foods

Second List based on First

我想要" ___杯羽衣甘蓝之间的空间"和" ____杯苹果"因为用户没有选择Quinoa而消失。然而它正在为它留下空间!任何帮助是极大的赞赏!我对swift很新。

0 个答案:

没有答案