作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想根据信标的接近程度更改应用程序的背景图像。如果我在 iPhone 上运行该应用程序(请参阅下面的代码),它会根据距离正确显示背景图像 - 但如果我移动,它不会更改/刷新背景图像。我尝试使用相同的背景颜色(请参见下面的代码)并且它有效:应用程序根据信标的接近程度更改其背景颜色,如果我正确移动它会更改/刷新背景颜色。只是背景图像无法正常工作。
如何强制背景图像正确刷新?
func updateDistance(_ distance: CLProximity) {
UIView.animate(withDuration: 0.8) {
switch distance {
case .unknown:
let backgroundImage = UIImageView(frame: UIScreen.main.bounds)
backgroundImage.image = UIImage(named: "1.jpg")
//backgroundImage.reloadInputViews()
backgroundImage.contentMode = UIView.ContentMode.scaleAspectFill
self.view.insertSubview(backgroundImage, at: 0)
//print("nothing here..")
case .far:
let backgroundImage = UIImageView(frame: UIScreen.main.bounds)
//backgroundImage.image = UIImage(named: "2.png")
backgroundImage.image = UIImage(named: "3.png")
//backgroundImage.reloadInputViews()
backgroundImage.contentMode = UIView.ContentMode.scaleAspectFill
self.view.insertSubview(backgroundImage, at: 0)
case .near:
let backgroundImage = UIImageView(frame: UIScreen.main.bounds)
backgroundImage.image = UIImage(named: "4.png")
//backgroundImage.reloadInputViews()
backgroundImage.contentMode = UIView.ContentMode.scaleAspectFill
self.view.insertSubview(backgroundImage, at: 0)
case .immediate:
let backgroundImage = UIImageView(frame: UIScreen.main.bounds)
backgroundImage.image = UIImage(named: "5.jpg")
//backgroundImage.reloadInputViews()
backgroundImage.contentMode = UIView.ContentMode.scaleAspectFill
self.view.insertSubview(backgroundImage, at: 0)
@unknown default:
// fatalError()
let backgroundImage = UIImageView(frame: UIScreen.main.bounds)
backgroundImage.image = UIImage(named: "6.jpg")
//backgroundImage.reloadInputViews()
backgroundImage.contentMode = UIView.ContentMode.scaleAspectFill
self.view.insertSubview(backgroundImage, at: 0)
}
}
func updateDistance(_ distance: CLProximity) {
UIView.animate(withDuration: 0.8) {
switch distance {
case .unknown:
self.view.backgroundColor = UIColor.gray
print("nothing here..")
case .far:
self.view.backgroundColor = UIColor.blue
case .near:
self.view.backgroundColor = UIColor.orange
case .immediate:
self.view.backgroundColor = UIColor.red
// self.sendUserNotification()
@unknown default:
<#fatalError()#>
}
}
}
最佳答案
关于swift - 如何根据信标的接近程度刷新背景图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56165678/
我是一名优秀的程序员,十分优秀!