我希望在tableView(tableView.backgroundView)的中心有一个红色的正方形,该正方形没有填充tableView。但是据苹果
将视图分配给该属性时,表视图自动 调整视图的大小以匹配其边界。
所以没有办法防止这种大小调整和填充tableViewBackgroundView吗?
答案 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
也应该有清楚的背景。
答案 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)