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 - 背景图像大小和位置问题的主要内容,如果未能解决你的问题,请参考以下文章