我用 Array 中的 randomElement 更改了我的 BackgroundImage,但它放大了并且不完全适合
I change my BackgroundImage with a randomElement from an Array but its zoomed in and not fitting perfectly
我有一个数组,其中包含我的图像名称和一个按钮。当我点击按钮时,背景图像应该被更改。一切正常,但图片放大了一点,没有缩放到屏幕大小。
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
var imagesArray = ["1", "2", "3", "4"]
@IBAction func changeBackgroundImageButton_Tapped(_ sender: UIButton) {
if let randomImage = imagesArray.randomElement(){
view.backgroundColor = UIColor(patternImage: UIImage(named: randomImage)!)
}
}
}
那么背景图片缩放不完美怎么办?谢谢!
这是经过测试的代码
class ViewController: UIViewController {
var imagesArray = ["1", "2", "3"]
lazy var imageView:UIImageView = {
let imageView = UIImageView()
imageView.frame = UIScreen.main.bounds
imageView.backgroundColor = .red
imageView.contentMode = .scaleAspectFit
imageView.image = UIImage(named: imagesArray.randomElement() ?? "1")
return imageView
}()
@IBAction func changeBackground_Tapped(_ sender: UIButton) {
imageView.image = UIImage(named: imagesArray.randomElement() ?? "1")
}
private func setupView() {
view.addSubview(imageView)
}
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
imageView.frame = view.bounds
}
override func viewDidLoad() {
super.viewDidLoad()
setupView()
}
}
要随机更改视图的背景图片,需要做一些小改动 - 这会更新您的背景图片,并且不会隐藏您的按钮。
@IBAction func changeBackground_Tapped(_ sender: Any) {
UIGraphicsBeginImageContext(view.frame.size)
UIImage(named: imagesArray.randomElement() ?? "1")?.draw(in: view.bounds)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
if let image = image {
view.backgroundColor = UIColor(patternImage: image)
}
}
希望它能解决您的问题。
我有一个数组,其中包含我的图像名称和一个按钮。当我点击按钮时,背景图像应该被更改。一切正常,但图片放大了一点,没有缩放到屏幕大小。
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
var imagesArray = ["1", "2", "3", "4"]
@IBAction func changeBackgroundImageButton_Tapped(_ sender: UIButton) {
if let randomImage = imagesArray.randomElement(){
view.backgroundColor = UIColor(patternImage: UIImage(named: randomImage)!)
}
}
}
那么背景图片缩放不完美怎么办?谢谢!
这是经过测试的代码
class ViewController: UIViewController {
var imagesArray = ["1", "2", "3"]
lazy var imageView:UIImageView = {
let imageView = UIImageView()
imageView.frame = UIScreen.main.bounds
imageView.backgroundColor = .red
imageView.contentMode = .scaleAspectFit
imageView.image = UIImage(named: imagesArray.randomElement() ?? "1")
return imageView
}()
@IBAction func changeBackground_Tapped(_ sender: UIButton) {
imageView.image = UIImage(named: imagesArray.randomElement() ?? "1")
}
private func setupView() {
view.addSubview(imageView)
}
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
imageView.frame = view.bounds
}
override func viewDidLoad() {
super.viewDidLoad()
setupView()
}
}
要随机更改视图的背景图片,需要做一些小改动 - 这会更新您的背景图片,并且不会隐藏您的按钮。
@IBAction func changeBackground_Tapped(_ sender: Any) {
UIGraphicsBeginImageContext(view.frame.size)
UIImage(named: imagesArray.randomElement() ?? "1")?.draw(in: view.bounds)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
if let image = image {
view.backgroundColor = UIColor(patternImage: image)
}
}
希望它能解决您的问题。