UITableView背景视图自动调整大小

时间:2020-10-06 15:03:36

标签: ios swift autolayout

我希望在tableView(tableView.backgroundView)的中心有一个红色的正方形,该正方形没有填充tableView。但是据苹果

将视图分配给该属性时,表视图自动 调整视图的大小以匹配其边界。

所以没有办法防止这种大小调整和填充tableViewBackgroundView吗?

2 个答案:

答案 0 :(得分:0)

代替使用def top_items(item_counts, n=3): counts = Counter(item_counts) most_common = counts.most_common(n) for item in zip(*most_common): return list(item) 属性,您可以在def top_items2(item_counts, n=3): top_count = sorted(item_counts.items(), key=lambda x: x[1], reverse=True)[:n] return [x[0] for x in top_count] 下添加一个子视图,如下所示:

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也应该有清楚的背景。

enter image description here

答案 1 :(得分:0)

@ finebel解决方案完全可以。但是,如果您正在寻找不同的东西。给你

您可以将此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)