TabBar 后面的 TableView 内容

TableView Content behind TabBar

我搜索了 S/OF,但找不到解决 TableView 在我的 TabBar 后面的问题。

我这样设置我的 TableView;

func setUpTableView() {
        messagesTableView.frame = view.frame
        messagesTableView.backgroundColor = .white
        view.addSubview(messagesTableView)
        messagesTableView.tableFooterView = UIView()
        messagesTableView.delegate = self
        messagesTableView.dataSource = self
        messagesTableView.register(UITableViewCell.self, forCellReuseIdentifier: messagesCellIdentifier)
        edgesForExtendedLayout = []
        extendedLayoutIncludesOpaqueBars = false
        messagesTableView.contentInsetAdjustmentBehavior = .never
    }

然后我setUpTableView()viewDidLoad().

根据所有消息来源

应该满足content insets并且不允许T​​ableView在TabBar后面滚动。

请注意我的 TabBars 的半透明在 TabBarController 中设置为 false。

tabBar.isTranslucent = false

一如既往地感谢任何帮助。

添加插图

当滚动到底部没有显示完整的 TableView 内容时,因为 TabBar 覆盖了最后几个索引。

您在 viewDidAppear 中尝试过吗?

  override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        tableView.contentInset = UIEdgeInsetsMake(0, 0, 0, 0)
    }

编辑

删除

messagesTableView.frame = view.frame 

并将自动布局添加到您的 messagesTableView

  messagesTableView.translatesAutoresizingMaskIntoConstraints = false
    NSLayoutConstraint.activate([
        messagesTableView.topAnchor.constraint(equalTo: topAnchor),
        messagesTableView.leftAnchor.constraint(equalTo: leftAnchor),
        messagesTableView.bottomAnchor.constraint(equalTo: bottomAnchor),
        messagesTableView.rightAnchor.constraint(equalTo: rightAnchor)
        ])