我在滚动视图中遇到tableview问题。该表在末尾被切除。

ios - Swift 3-UITableView在UIScrollView中被切断-LMLPHP

这是我的情节提要(表的滚动被禁用)。该按钮只是我的真实应用程序中某些内容的占位符:

ios - Swift 3-UITableView在UIScrollView中被切断-LMLPHP

这是表类(我从昨天的问题中知道了它,我只是无法解决问题):

class Table: UITableView, UITableViewDataSource, UITableViewDelegate{

    let sections: [String] = ["Section 1", "Section 2", "Section 3"]
    let s1Data: [String] = ["Row 1", "Row 2", "Row 3"]
    let s2Data: [String] = ["Row 1", "Row 2", "Row 3"]
    let s3Data: [String] = ["Row 1", "Row 2", "Row 3"]

    var sectionData: [Int: [String]] = [:]

    override func awakeFromNib() {
        super.awakeFromNib()

        delegate = self
        dataSource = self

        register(UINib(nibName: "Cell", bundle: nil), forCellReuseIdentifier: "Cell")

        sectionData = [0:s1Data, 1:s2Data, 2:s3Data]

        rowHeight = UITableViewAutomaticDimension
        estimatedRowHeight = 96.0

    }

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int)
        -> Int {
            return (sectionData[section]?.count)!
    }

    func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int)
        -> String? {
            return sections[section]
    }

    func numberOfSectionsInTableView(tableView: UITableView) -> Int {
        return sections.count
    }

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

        var cell = tableView.dequeueReusableCell(withIdentifier: "Cell")

        return cell!

    }

}

单元本身的高度为340,在表中应为其中的三个。

ViewController对表和表本身的高度有约束。我在stackoverflow上阅读了有关此解决方案的内容。当我在constraint-constant-set处设置断点时,高度大约为1000,因此这是正确的:
import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var tableHeight: NSLayoutConstraint!
    @IBOutlet weak var table: Table!

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        tableHeight.constant = table.contentSize.height
    }

}

我尝试了不同的建议,如何摆脱这种局面。但是我莫名其妙地错过了一些东西。有没有人给我建议。

最佳答案

在我看来,您没有设置从表视图底部到其 super 视图(滚动视图中的View)底部的约束。如果是这样,则视图将不会调整大小以适合其中的所有表格

10-08 07:46