派对迟到了,但对于其他搜索该主题的人来说,它总是很方便......
我不认为在 viewDid 出现时这样做是正确的方法,因为它肯定对用户可见并在他们眼前调整大小。不会带来出色的用户体验 imo。
在 swift 4 中,我使用类似的东西
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
var rect = tableView.frame
if rect.size.height != h && rect.size.width != w {
// set x and y to any value you need. you can also have a
// condition about the origin (x,y)
// if you have a gap on the left or top...
rect.size.height = h;
rect.size.width = w;
tableView.frame = rect
}
}
这将在 tableView 可见之前进行更改并使用户体验更好,并且正如接受的答案中提到的那样,您需要将窗口颜色设置为表格视图的颜色以更好地混合(白色是默认值)
UIApplication.shared.keyWindow?.backgroundColor = .white