[英]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.