TabBar后面的TableView内容

时间:2018-07-13 13:46:26

标签: swift uitableview uitabbarcontroller uitabbar bounds

我已经搜索了S / OF,找不到针对TabView后面的TableView的修复程序。

我这样设置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()

根据所有来源

  • edgesForExtendedLayout = []
  • extendedLayoutIncludesOpaqueBars = false
  • messagesTableView.contentInsetAdjustmentBehavior = .never

应该满足内容插入条件,并且不允许T​​ableView在TabBar后面滚动。

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

tabBar.isTranslucent = false

一如既往地感谢您的帮助。

添加插图

enter image description here 滚动到底部时,由于TabBar覆盖了最后几个索引,因此未显示完整的TableView内容。

1 个答案:

答案 0 :(得分:1)

您是否在viewDidAppear中尝试过此操作?

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

修改

删除

messagesTableView.frame = view.frame 

并将autoLayout添加到您的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)
        ])