swift UISlider / @IBOutlet & @IBAction練習

這次的練習說明,延續上回的黑色皮卡丘繼續發展下去,讓使用者可以自訂原本酷酷的黑色皮卡丘,利用 slider 的調整,皮卡丘多了更多活潑的顏色,同時,我這次在下面建立了兩個圖形按鈕,一個可以隨機產生顏色,另一個閃電按鈕可以讓皮卡丘回復到原本的閃電黃色,

首先先看一下程式碼,相關的步驟在執行甚麼動作,就利用敘述的方式寫在程式碼裡面,有興趣的大家參考看看囉!

////  ViewController.swift//  pikachuclothes////  Created by Jimmy on 2019/8/17.//  Copyright © 2019 JimmyStudio. All rights reserved.//import UIKitclass ViewController: UIViewController {//    先將要調整底色的 imageview / 4個slider / 4個label 拉出來建立 @IBOutlet 作為變數(後面會用到的參數)@IBOutlet weak var backimage: UIImageView!@IBOutlet weak var redslider: UISlider!@IBOutlet weak var greenslider: UISlider!@IBOutlet weak var blueslider: UISlider!@IBOutlet weak var alphaslider: UISlider!@IBOutlet weak var redlable: UILabel!@IBOutlet weak var greenlable: UILabel!@IBOutlet weak var bluelable: UILabel!@IBOutlet weak var alphalable: UILabel!override func viewDidLoad() {super.viewDidLoad()// Do any additional setup after loading the view.}//    把4個 slider 都拉到同一個 @IBAction 建立 func 作產生反應動作//    讓要變色的背景 imageview 讀取 slider 的值,調整顏色@IBAction func sliderchange(_ sender: UISlider) {backimage.backgroundColor = UIColor(red: CGFloat(redslider.value), green: CGFloat(greenslider.value), blue: CGFloat(blueslider.value), alpha: CGFloat(alphaslider.value))//        強制讓 label 的直只顯示到小數點第二位redlable.text = String(format:"%.2f", redslider.value)greenlable.text = String(format:"%.2f", greenslider.value)bluelable.text = String(format:"%.2f", blueslider.value)alphalable.text = String(format:"%.2f", alphaslider.value)}//    將要隨機產生顏色的按鈕建立 func@IBAction func randombutton(_ sender: UIButton) {let randomred = Double.random(in: 0...1)let randomgreen = Double.random(in: 0...1)let randomblue = Double.random(in: 0...1)let randomalpha = Double.random(in: 0...1)backimage.backgroundColor = UIColor(red: CGFloat(randomred), green: CGFloat(randomgreen), blue: CGFloat(randomblue), alpha: CGFloat(randomalpha))redlable.text = String(format:"%.2f", randomred)greenlable.text = String(format:"%.2f", randomgreen)bluelable.text = String(format:"%.2f", randomblue)alphalable.text = String(format:"%.2f", randomalpha)}//    定義閃電按鈕為黃色@IBAction func lightningbutton(_ sender: UIButton) {backimage.backgroundColor = UIColor(red: 250/255, green: 214/255, blue: 29/255, alpha: 1)redlable.text = 0.98.description//        greenlable.text = (214/255).descriptiongreenlable.text = String(0.84)bluelable.text = String(0.11)alphalable.text = String(1)}}
(左).自行調整 slider 變化皮卡丘的顏色 (中).隨機按鈕隨機調整皮卡丘的顏色 (右).閃電按鈕回復皮卡丘的閃電黃

--

--