UITableView - 背景图像大小和位置问题
UITableView - issue with background image size & position
当列表为空时,我想在 UITableView 中设置背景图像。我使用以下代码设置它。它在 iPhone 5 中是正确可见的。但是在 iPhone 6 以后的设备中显示一些 space。
请帮忙。我是 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()
您的代码绝对正确。
问题是,您可能在 viewDidLoad().
期间设置了背景图片,请尝试使用 viewWillApper()
。它将设置您的框架,精确到您的 tableview 的大小。
还有其他选择。使用 DispatchQueue.main.asyncAfter
或使用 performSelectorWithDelay
.
延迟一段时间后重置图像帧
如果你做不到,请告诉我。
当列表为空时,我想在 UITableView 中设置背景图像。我使用以下代码设置它。它在 iPhone 5 中是正确可见的。但是在 iPhone 6 以后的设备中显示一些 space。
请帮忙。我是 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()
您的代码绝对正确。
问题是,您可能在 viewDidLoad().
期间设置了背景图片,请尝试使用 viewWillApper()
。它将设置您的框架,精确到您的 tableview 的大小。
还有其他选择。使用 DispatchQueue.main.asyncAfter
或使用 performSelectorWithDelay
.
如果你做不到,请告诉我。