[英]How to change specified image size in UIImageView with UISlider in Swift programmatically
[英]How to change image in UIImageView with UISlider in Swift
我正在尝试使用UISlider来更改UIImageView中的图像所以我的想法是,如果滑块值为1,则某个图像显示它是否为2,不同的图像显示。 等等
有人可以帮忙吗?
编辑:这是我试过的代码。 我认为它应该是一个If / Else语句,但我不确定如何形成语法。
@IBOutlet weak var scaleLabel: UILabel!
@IBOutlet weak var scaleSlider: UISlider!
@IBOutlet weak var scaleImage: UIImageView!
@IBAction func valueChanged1(sender: AnyObject) {
if scaleSlider.value == 1 {
scaleImage.image = "Image.png"
}
}
创建一个文件名数组。
将滑块值转换为int。
使用该int索引文件名数组。
使用image(named:)
加载具有该名称的图像。
将图像安装到图像视图中。
看看您是否可以将这些步骤转换为代码。 如果不编辑您的问题以显示您的代码并告诉我们发生了什么,我们将向您展示如何调试它。
由于滑块具有Float值,并且您需要一个整数值来从数组中选择图像,我假设您要使用最接近的整数索引作为滑块的当前值:
let images = [
UIImage(named: "image1"),
UIImage(named: "image2"),
UIImage(named: "image3")
]
var currentIndex = 0 {
didSet {
if oldValue != currentIndex {
currentIndexUpdated()
}
}
}
@IBAction func valueChanged(_ sender: UISlider) {
currentIndex = Int(round(sender.value))
}
func currentIndexUpdated() {
guard 0..<images.count ~= currentIndex else { return }
imageView.image = images[currentIndex]
}
喜欢
@IBAction func valueChanged1(_ sender: UISlider) {
var imageName : String = "Image.png"
switch (sender.value)
{
case 0:
print("zero")
imageName = "yyyy.png"
case 1:
print("one")
imageName = "zzzz.png"
case 2:
print("two")
imageName = "aaaa.png"
default:
print("Integer out of range")
}
if let image = UIImage(named:imageName) {
scaleImage.image = image
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.