作者:Arthur Knopper,原文鏈接,原文日期:2016-10-18
譯者:Crystal Sun;校對(duì):星夜暮晨;定稿:CMB
Segmented Control 用于展示一些用戶可以選擇的選項(xiàng)。每個(gè) Segment 看起來像是一個(gè)單選按鈕 (radio button),用戶即便選中了某個(gè)選項(xiàng),這個(gè) Segment 仍保持“選中”狀態(tài)。在本節(jié)教程里,我們會(huì)在 UISegmentedController
當(dāng)中創(chuàng)建兩個(gè) Segment,每個(gè) Segment 會(huì)讓 Label 顯示不同的文本內(nèi)容。本節(jié)教程將使用 Xcode 8 和 iOS 10 來進(jìn)行構(gòu)建。
打開 Xcode,創(chuàng)建一個(gè) Single View Application。
點(diǎn)擊 Next,product name 一欄填寫 IOS10SegmentedControlTutorial,填寫好 Organization Name 和 Organization Identifier,Language 選擇 Swift,Devices 選擇 iPhone。

前往 Storyboard 當(dāng)中,拖一個(gè) Segmented Control 放到主界面。隨后再拖一個(gè) Label,使其位于 Segmented Control 的下方并將其文本內(nèi)容改為 First Segment Selected。Storyboard 看起來如下圖所示:

選中 Label,按住 Ctrl 并拖向 Segmented Control,在彈出窗中選擇 Vertical Spacing 選項(xiàng)。

選中 Segmented Control,點(diǎn)擊 Storyboard 右下角的 Auto Layout 中的 Pin 按鈕,在彈出窗中輸入下圖中的值,點(diǎn)擊 Add 1 Constraint。
按住 Shift 鍵選中 Label 和 Segmented Control,點(diǎn)擊 Storyboard 右下角的 Auto Layout 中的 Align 按鈕,在彈出窗中輸入下圖中的值,點(diǎn)擊 Add 2 Constraint。

點(diǎn)擊 Assistant Editor,確保 ViewController.swift 文件可見。按住 Ctrl,把 Segmented Control 拖到 ViewController.swift 文件里,創(chuàng)建一個(gè) Outlet 如下圖所示:

按住 Ctrl,把 Label 拖到 ViewController.swift 文件里,創(chuàng)建一個(gè) Outlet 如下圖所示:

按住 Ctrl,把 Segmented Control 拖到 ViewController.swift 文件里,創(chuàng)建一個(gè) Action 如下圖所示:

當(dāng)用戶改變了 Segment 的索引 (index) 值的時(shí)候,都會(huì)調(diào)用這個(gè) indexChanged 方法,下面來實(shí)現(xiàn)這個(gè)方法:
@IBAction func indexChanged(_ sender: AnyObject) {
switch segmentedControl.selectedSegmentIndex
{
case 0:
textLabel.text = "First Segment Selected";
case 1:
textLabel.text = "Second Segment Selected";
default:
break
}
}
當(dāng) selectedSegmentIndex
值發(fā)生變化后,Label 的文本也會(huì)更新。第一個(gè) Segment 的索引值是 0,第二個(gè) Segment 的索引值是 1。編譯并運(yùn)行工程,您會(huì)發(fā)現(xiàn)文本內(nèi)容會(huì)隨著 Segment 的變化而發(fā)生變化。

在 ioscreator 的 github 上可以下載到本節(jié)課程 IOS10SegmentedControlTutorial 的源代碼。
本文由 SwiftGG 翻譯組翻譯,已經(jīng)獲得作者翻譯授權(quán),最新文章請(qǐng)?jiān)L問 http://swift.gg。