滚动整个屏幕,而不仅仅是表格视图



对不起,如果这是一个基本问题。我有一个UIView控制器,其表视图从屏幕中间开始。我可以滚动我的表格视图,但我希望能够滚动整个屏幕,而不仅仅是从表格视图开始。现在,当我滚动时,屏幕的上半部分保持固定,只有表视图滚动,但我想开始滚动整个屏幕。

试试这个:

情节提要中选择表视图,然后关闭启用滚动(在属性检查器的"滚动视图"部分下(。

或者,将其放入 TableViewController viewDidLoad:

tableView.isScrollEnabled = false

我不知道你想要什么样的效果,但你可以像这样使用表格的内容插图视图:

import UIKit
class ViewController : UIViewController {

    let tableView: UITableView = {
        let tv = UITableView()
        tv.backgroundColor = .green
        return tv
    }()
    override func viewDidLoad() {
        super.viewDidLoad()
        title = "Scrolling"
        view.backgroundColor = .blue

        view.addSubview(tableView)
        tableView.frame = view.frame
        let SCREENH = UIScreen.main.bounds.height
        tableView.contentInset = UIEdgeInsets(top: SCREENH/2, left: 0, bottom: 0, right: 0)
        tableView.delegate = self
        tableView.dataSource = self
    }
}
extension ViewController: UITableViewDelegate, UITableViewDataSource {
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 20
    }
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = UITableViewCell()
        cell.textLabel?.text = "Cell (indexPath.row)"
        return cell
    }
}

或者,如果您在 tableView 顶部有内容并且不希望 contentInset 方法给出的效果,为什么不为您的 tableView 实现一个标头并将您的信息放在那里。

希望对你有帮助

最简单的选项是在情节提要中选择表视图,然后单击属性。在那里,您会发现复选框"已启用滚动",只需取消选中该复选框,然后禁用表视图的滚动。

如果您澄清我哪个容器(滚动视图或您用作超级视图的任何其他内容(,我可以为您提供更多帮助

相关内容

最新更新