紙娃娃練習App

範例使用UI元件:ImageView、segment control。
按下segment control觸發action以更換選擇的部位outlet圖片。

程式碼如下:

import UIKit

// 音樂效果套件

import AVFoundation

class paperDollViewController: UIViewController {

@IBOutlet weak var hairImageView: UIImageView!

@IBOutlet weak var faceImageView: UIImageView!

@IBOutlet weak var clothImageView: UIImageView!

@IBOutlet var changeSegments:[UISegmentedControl]!

//AVPlayerLooper 重複播放

var looper:AVPlayerLooper?

override func viewDidLoad() {

super.viewDidLoad()

// AVPlayerLooper 重複播放

if let url = Bundle.main.url(forResource: “赤心無疆”, withExtension: “mp3”)

{

// 生成 AVQueuePlayer 物件

let player = AVQueuePlayer()

// 利用 AVPlayerItem 生成要播放的音樂

let playerItem = AVPlayerItem(url: url)

// 生成 AVPlayerLooper,傳入剛剛生成的 player & item。到時候 AVPlayerLooper 將讓 item 重覆播放。

looper = AVPlayerLooper(player: player, templateItem: playerItem)

// 開始播放音樂(停止播放為 player.pause())

player.play()

}

}

@IBAction func changeSegment(_ sender: UISegmentedControl) {

let choiceNum = sender.selectedSegmentIndex

var imageName: String!

switch sender {

case changeSegments[0]:

switch choiceNum {

case 0:

imageName = “hair1”

case 1:

imageName = “hair2”

case 2:

imageName = “hair3”

case 3:

imageName = “hair4”

case 4:

imageName = “hair5”

case 5:

imageName = “hair6”

default: break

}

hairImageView.image = UIImage(named: imageName)

case changeSegments[1]:

switch choiceNum {

case 0:

imageName = “face1”

case 1:

imageName = “face2”

case 2:

imageName = “face3”

case 3:

imageName = “face4”

case 4:

imageName = “face5”

case 5:

imageName = “face6”

default: break

}

faceImageView.image = UIImage(named: imageName)

case changeSegments[2]:

switch choiceNum {

case 0:

imageName = “cloth1”

case 1:

imageName = “cloth2”

case 2:

imageName = “cloth3”

case 3:

imageName = “cloth4”

case 4:

imageName = “cloth5”

case 5:

imageName = “cloth6”

default: break

}

clothImageView.image = UIImage(named: imageName)

default:

break

}}}

--

--