蜘蛛人三部曲

利用 page control,segmented control,button & gesture 更換內容

--

1.先拉Outlet

    @IBOutlet weak var titleLabel: UILabel!
@IBOutlet weak var pageDot: UIPageControl!
@IBOutlet weak var titleSegmentedControl: UISegmentedControl!
@IBOutlet weak var posterImageView: UIImageView!

let titleArray = ["Spider-Man: Homecoming", "Spider-Man: Far From Home", "Spider-Man: No Way Home"]
var index = 0 //宣告index 初始為0

2.Function

func changeData() {
titleLabel.text = titleArray[index] //標題名稱
pageDot.currentPage = index
titleSegmentedControl.selectedSegmentIndex = index
posterImageView.image = UIImage(named: titleArray[index]) //這邊設定圖片名稱跟標題名稱一樣
}

3.Action

想出前一頁跟下一頁的邏輯就可以套用在各個action中

    @IBAction func segmented(_ sender: Any) {
index = titleSegmentedControl.selectedSegmentIndex
changeData()
}

@IBAction func pageControl(_ sender: Any) {
index = pageDot.currentPage
changeData()
}

@IBAction func pre(_ sender: Any) {
index = (index + titleArray.count - 1) % titleArray.count
changeData()
}

@IBAction func next(_ sender: Any) {
index = (index + 1) % titleArray.count
changeData()
}
//上一頁
@IBAction func rightSwipe(_ sender: Any) {
index = (index + titleArray.count - 1) % titleArray.count
changeData()
}
//下一頁
@IBAction func leftSwipe(_ sender: Any) {
index = (index + 1) % titleArray.count
changeData()
}

Demo:

GitHub:

參考資料:

--

--