Я сделал простое приложение для таймера и хочу добавить фоновое изображение или видео в фоновом режиме. Однако я не могу этого сделать и не знаю почему.
Может кто-нибудь подсказать, почему картинка не отображается на заднем плане? Я устанавливаю фон в методе viewDidLoad
. Может быть, часть @IBOutlet var backgroundView: UIView!
не так? Я связал его с указанным UIView
, когда сделал этот проект Xcode.
class ViewController: UIViewController, UITableViewDelegate {
let mainStopwatch = Stopwatch()
let lapStopwatch = Stopwatch()
var isPlay: Bool = false
var laps: [String] = []
//UI components
@IBOutlet weak var lapRestButton: UIButton!
@IBOutlet weak var playPauseButton: UIButton!
@IBOutlet weak var lapTimerLabel: UILabel!
@IBOutlet weak var timerLabel: UILabel!
@IBOutlet weak var lapsTableView: UITableView!
@IBOutlet var backgroundView: UIView!
override func viewDidLoad() {
super.viewDidLoad()
self.view.addBackground(name: "nathan-dumlao-iXXyrEwZgiU-unsplash")
lapRestButton.isEnabled = false
lapsTableView.dataSource = self
lapsTableView.delegate = self
}
//UI Settings
override var shouldAutorotate: Bool {
return false
}
override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
return UIInterfaceOrientationMask.portrait
}
//Actions
@IBAction func playPauseTimer(_ sender: Any) {
lapRestButton.isEnabled = true
changeButton(lapRestButton, title: "Lap", color: .black)
}
}
И это еще один быстрый файл для установки фонового изображения.
extension UIView {
func addBackground(name: String) {
let width = UIScreen.main.bounds.size.width
let height = UIScreen.main.bounds.size.height
let imageViewBackground = UIImageView(frame: CGRect(x: 0, y: 0, width: width, height: height))
imageViewBackground.image = UIImage(named: name)
imageViewBackground.contentMode = .scaleAspectFill
self.addSubview(imageViewBackground)
self.sendSubviewToBack(imageViewBackground)
}