UISegmentedControl - 切り替えボタン

f:id:oynop:20150227183916p:plain:h100 f:id:oynop:20150227183919p:plain:h100 f:id:oynop:20150227183922p:plain:h100

説明

UISegmentedControlはUIControlのサブクラス
画面切り替えなどに使われることが多い

ソースコード

UISegmentedControlSample.swift

import UIKit
class UISegmentedControlSample: UIView {
    override init(frame: CGRect) {
        super.init(frame: frame)
        let items = ["Left", "Center", "Right"]
        let sc = UISegmentedControl(items: items)
        self.addSubview(sc)
        sc.center = self.center

        // 最初に選択されているもの (-1だと何も選択しない)
        sc.selectedSegmentIndex = 0

        // デザイン
        sc.tintColor = colorPattern.accent()
        
        sc.addTarget(self, action: "segmentedControlChanged:", forControlEvents: UIControlEvents.ValueChanged)
    }
    
    func segmentedControlChanged(sender: UISegmentedControl) {
        println(sender.selectedSegmentIndex)
    }

    required init(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
}

ViewController.swift

import UIKit
class ViewController: UIViewController {
    override func viewDidLoad() {       
        super.viewDidLoad()
        self.view.backgroundColor = colorPattern.back()
        self.view.addSubview(UISegmentedControlSample(frame: self.view.frame))
    }
   
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}