UITableView: problema con el tamaño y la position de la image de background

Quiero establecer una image de background en UITableView, cuando la list está vacía. Lo configuré usando el siguiente código. Es correctamente visible en el iPhone 5. Pero muestra algo de espacio en los dispositivos iPhone 6 posteriores.

Por favor ayuda. Soy novato para el desarrollo de 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() 

Aquí hay una instantánea de muestra con un problema real.

Tu código es absolutamente correcto. El problema es que puede configurar la image de background durante viewDidLoad (). Pruébelo con viewWillApper (). Configurará su marco, exacto al tamaño de su table.

Hay otras opciones para hacerlo también. Restablezca el marco de image después de un cierto time usando DispatchQueue.main.asyncAfter o use performSelectorWithDelay.

Avísame si no puedes hacerlo.

verifique cambiando esta línea: ivImageView.contentMode = UIViewContentMode.scaleAspectFit a ivImageView.contentMode = UIViewContentMode.center