看圖理解,
Segment 就是圖中"first"跟"second"那個可以讓人點選的按鈕,
他們是歸在一組的,所以通常會是同類型的切換鈕。
這張圖的左半是畫面,右半是code,
其中三個綠框框內各代表了一個function,
他們前端都有一個灰色點,跟著箭頭指向左邊的元件,
這就是需要在Xcode中建立“圖形元件”與“function”連結的地方,
我們就可以很直觀知道哪段function會跟哪個按鈕有關聯。
實心的灰色點表示有連結到東西,空心的代表沒有連東西。
可以用按右鍵拖曳的方式,把按鈕拉到function的code上,
他就會有個框框提示跑出來,放開就可以建立連結了。
(例外註:當專案關掉再開,然後直接開.swift檔時,可能會看到空心,
這時打開StoryBoard它就會再連上,沒有的話就要再check了。)
以下是整段code:
(出自於Swift書:用Swift語言一次搞定所有蘋果裝置的程式開發 / 佳魁出版)
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var tv: UITextView!
@IBOutlet weak var tf: UITextField!
@IBOutlet weak var segmented: UISegmentedControl!
override func viewDidLoad() {
super.viewDidLoad()
onChanged(segmented)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
@IBAction func onAdd(sender: AnyObject){
let count = segmented.numberOfSegments
let title = tf.text
if title!.characters.count > 0 {
segmented.insertSegmentWithTitle(title, atIndex: count, animated: true)
}
} // 動態增加segment的函數
@IBAction func onDelete(sender: AnyObject){
let index = segmented.numberOfSegments - 1
if index > 0 {
segmented.removeSegmentAtIndex(index, animated: true)
}
} // 動態刪除segment的函數
@IBAction func onChanged(sender: AnyObject){
let index = segmented.selectedSegmentIndex
let title = segmented.titleForSegmentAtIndex(index)!
tv.text = "選取了第\(index + 1)個分段,標題是:\(title)"
} // 顯示選取的segment
}
一面寫一面思考這些文章會對誰有幫助,坦白說這個blog很難讓初學者看了就能學會,
主要是我做學習筆記用,會把重要的部分整理成一篇文章以後複習,
Xcode的安裝、環境設定跟基本操作一般書中、網路上都有介紹,
而且一定需要自己花時間熟悉摸索,若你也是初學者,不妨看看我貼的內容,
也許多少能找到有益的資料。
一面跟著書做練習,一面撞牆,一面完成小功能,偶爾發現書中的錯誤 / bug,
或 Xcode / Swift 更新的東西,這就是學習的苦與樂吧。
繼續加油!