簡體   English   中英

如何在Swift中使用UISlider更改UIImageView中的圖像

[英]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"
    }

}
  1. 創建一個文件名數組。

  2. 將滑塊值轉換為int。

  3. 使用該int索引文件名數組。

  4. 使用image(named:)加載具有該名稱的圖像。

  5. 將圖像安裝到圖像視圖中。

看看您是否可以將這些步驟轉換為代碼。 如果不編輯您的問題以顯示您的代碼並告訴我們發生了什么,我們將向您展示如何調試它。

由於滑塊具有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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM