Ios UITableView背景视图自动调整大小

Ios UITableView背景视图自动调整大小,ios,swift,autolayout,Ios,Swift,Autolayout,我想在我的tableView(tableView.backgroundView)的中心有一个小红方块,它不会填充tableView。但根据苹果公司的说法 将视图指定给此属性时,表视图将自动显示 调整该视图的大小以匹配其自身边界 因此,没有办法阻止这种调整大小和填充tableViewBackgroundView?而不是使用backgroundView属性,您可以在tableView下面添加一个子视图,如下所示: //for example inside viewDidLoad() let bgV

我想在我的tableView(tableView.backgroundView)的中心有一个小红方块,它不会填充tableView。但根据苹果公司的说法

将视图指定给此属性时,表视图将自动显示 调整该视图的大小以匹配其自身边界


因此,没有办法阻止这种调整大小和填充tableViewBackgroundView?

而不是使用
backgroundView
属性,您可以在
tableView
下面添加一个子视图,如下所示:

//for example inside viewDidLoad()

let bgView = UIView()
bgView.translatesAutoresizingMaskIntoConstraints = false

self.view.insertSubview(bgView, belowSubview: tableView)
NSLayoutConstraint.activate([
    bgView.centerYAnchor.constraint(equalTo: self.view.centerYAnchor),
    bgView.centerXAnchor.constraint(equalTo: self.view.centerXAnchor),
    bgView.widthAnchor.constraint(equalToConstant: 50),
    bgView.heightAnchor.constraint(equalToConstant: 50)
])

bgView.backgroundColor = .red
但是为了查看
bgView
,您必须设置
tableView.backgroundColor=.clear
。此外,您的
UITableViewCells
也应该有清晰的背景

@溶液完全没有问题。但是如果你在寻找不同的东西。给你

您可以直接将此bgView添加到tableView,并将此新子视图发送回
这样,您也可以保留表视图的背景色

// after your setup
let bgView = UIView()
tableView.addSubview(bgView)
// add constraints after disabling autoresizing mask
bgView.backgroundColor = UIColor.red
tableView.sendSubview(toBack: bgView)

您可以根据需要将小红方视图的约束添加到通用UIView。并将该通用视图添加到tableView的backgroundView中。还可以将该常规视图的背景色设置为UIColor.clear。因此,它不会影响tableView的实际背景色实际上,当tableView中的数据加载不正确时,我想在tableView中放置一个重新加载按钮,因此我认为它不应位于tableView下,因此不再可以单击,但是感谢你的好方法,为什么我在问问题之前没有测试约束:))谢谢在阅读了我了解的其他评论之后,当数据加载不正确时,您正在添加一个重新加载按钮。在这种情况下,你不应该发送SubVIEW to ToopBead,而是应该考虑FruttoRoT。明智地使用这些方法!我希望你实现了你想要的。是的,我移除了sendSubviewToBack,现在一切正常