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

前端之家收集整理的这篇文章主要介绍了ios – UITableView – 背景图像大小和位置问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我希望在列表为空时在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,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()

Here is sample snapshot with actual problem

解决方法

你的代码绝对正确.

问题是,您可能在viewDidLoad()期间设置背景图像.相反,请使用viewWillApper()进行尝试.它将根据您的tableview的大小设置您的框架.

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

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

猜你在找的iOS相关文章