UITableView - 背景图像大小和位置问题

Posted

技术标签:

【中文标题】UITableView - 背景图像大小和位置问题【英文标题】:UITableView - issue with background image size & position 【发布时间】:2017-02-19 03:28:30 【问题描述】:

当列表为空时,我想在 UITableView 中设置背景图像。我使用以下代码设置它。它在 iPhone 5 中可以正常显示。但在 iPhone 6 以后的设备中显示一些空间。

请帮忙。我是 ios 开发新手。

@IBOutlet var tableView: UITableView!

let bgView = UIView(frame: CGRect(x: 0, y: 0, width: tableView.frame.size.width, height: tableView.frame.size.height))

let ivImageView = UIImageView(frame: CGRect(x: 0, y: 0, width: tableView.frame.size.width, height: tableView.frame.size.height))
ivImageView.image = image
ivImageView.tintColor = UIColor.green
ivImageView.contentMode = UIViewContentMode.scaleAspectFit
ivImageView.alpha = 0.05
bgView.addSubview(ivImageView)

tableView.backgroundView = bgView
tableView.backgroundView?.layoutIfNeeded()
tableView.backgroundView?.layoutSubviews()

【问题讨论】:

你想让 imageView 居中还是填充视图? 检查这个 SO 链接 - ***.com/questions/31503580/… 【参考方案1】:

您的代码绝对正确。

问题是,您可能在viewDidLoad(). 期间设置了背景图像,而是使用viewWillApper() 尝试。它将设置您的框架,与您的 tableview 的大小完全一致。

还有其他选择。在延迟一段时间后使用DispatchQueue.main.asyncAfter或使用performSelectorWithDelay重置图像帧。

如果你做不到,请告诉我。

【讨论】:

以上是关于UITableView - 背景图像大小和位置问题的主要内容,如果未能解决你的问题,请参考以下文章

背景图片中UIView和UITableView不一致

如何在颤动中固定背景图像的大小和位置?

在静态背景图像上调整按钮大小和位置

CSS3背景大小和背景位置问题

带有背景位置的背景大小不会缩放位置?

如何在 UITableView 中使用 UIView 实现动态单元格高度和图像高度?