前面咱們講完 iOS 控件中的兩個提示性控件, 如今讓咱們繼續往下看.css
// 1.初始化時設置 UISegemtedControl 的 Item 數組
init(items: [AnyObject])
// 2.設置 UISegemtedControl 點擊以後是否瞬間彈起, (默認是 false)
var momentary: Bool
// 3.獲取 UISegemtedControl 裏有的分段按鈕個數
var numberOfSegments: Int { get }
// 4.設置 UISegemtedControl 是否基於內容自動調整尺寸, 默認是 false, 前提是要不設置 UISegemtedControl 的尺寸
var apportionsSegmentWidthsByContent: Bool
// 5.獲取 UISegemtedControl 可點擊的 Item 數量
var selectedSegmentIndex: Int
// 6.設置 UISegemtedControl 的樣式顏色
var tintColor: UIColor!
// 1.插入一個 UISegemtedControl 的分段按鈕, 而且設置標題和索引, 以及是否使用動畫
func insertSegmentWithTitle(title: String!, atIndex segment: Int, animated: Bool)
// 2.插入一個 UISegemtedControl 做爲分段按鈕, 而且設置索引, 以及是否使用動畫
func insertSegmentWithImage(image: UIImage, atIndex segment: Int, animated: Bool)
// 3.刪除指定索引的 UISegemtedControl 分段按鈕, 以及是否使用動畫
func removeSegmentAtIndex(segment: Int, animated: Bool)
// 4.刪除全部 UISegemtedControl 的分段按鈕
func removeAllSegments()
// 3.修改 UISegemtedControl 指定的 Item 分段按鈕標題
func setTitle(title: String?, forSegmentAtIndex segment: Int)
// 4.獲取指定的 UISegemtedControl 分段按鈕的標題
func titleForSegmentAtIndex(segment: Int) -> String?
// 5.修改 UISegemtedControl 指定的 Item 分段按鈕圖片
func setImage(image: UIImage?, forSegmentAtIndex segment: Int)
// 6.獲取指定的 UISegemtedControl 分段按鈕的圖片
func imageForSegmentAtIndex(segment: Int) -> UIImage?
// 7.設置 UISegemtedControl 指定的 Item 寬度
func setWidth(width: CGFloat, forSegmentAtIndex segment: Int)
// 8.獲取指定 UISegemtedControl 分段按鈕的寬度
func widthForSegmentAtIndex(segment: Int) -> CGFloat
// 9.設置 UISegemtedControl 指定的 Item 內容偏移量
func setContentOffset(offset: CGSize, forSegmentAtIndex segment: Int)
// 10.獲取指定 UISegemtedControl 指定的 Item 內容偏移量
func contentOffsetForSegmentAtIndex(segment: Int) -> CGSize
// 11.設置 UISegemtedControl 指定的 Item 是否能夠點擊
func setEnabled(enabled: Bool, forSegmentAtIndex segment: Int)
// 12.獲取指定 UISegemtedControl 指定的 Item 是否能夠點擊
func isEnabledForSegmentAtIndex(segment: Int) -> Bool
// 13.設置 UISegemtedControl 的背景圖片, 而且在 UISegemtedControl 指定的樣式下才會顯示, 以及圖片顯示的樣式
func setBackgroundImage(backgroundImage: UIImage?, forState state: UIControlState, barMetrics: UIBarMetrics)
// 14.獲取 UISegemtedControl 在指定的狀態, 圖片顯示下的圖片
func backgroundImageForState(state: UIControlState, barMetrics: UIBarMetrics) -> UIImage?
// 15.設置 UISegemtedControl 的左右的分隔符圖片, 而且在 UISegemtedControl 指定的樣式下才會顯示, 以及圖片顯示的樣式
func setDividerImage(dividerImage: UIImage?, forLeftSegmentState leftState: UIControlState, rightSegmentState rightState: UIControlState, barMetrics: UIBarMetrics)
// 16.獲取 UISegemtedControl 的左右的分隔符圖片, 而且在 UISegemtedControl 指定的樣式下才會顯示, 以及圖片顯示的樣式
func dividerImageForLeftSegmentState(leftState: UIControlState, rightSegmentState rightState: UIControlState, barMetrics: UIBarMetrics) -> UIImage?
自定義UISegemtedControl數組
func mySegmentedControl() {
// 1.自定義 UISegemtedControl 而且設置它的 Item 數組對象
var segmented = UISegmentedControl(items: ["分段一", "分段二"])
// 2.設置 UISegemtedControl 的中心點
segmented.center = CGPointMake(self.view.frame.width / 2, self.view.frame.height / 2)
// 3.設置 UISegemtedControl 的尺寸
segmented.bounds = CGRectMake(0, 0, 300, 30)
// 4.設置 UISegemtedControl 點擊以後是否瞬間彈起, (默認是 false)
segmented.momentary = true
// 5.獲取 UISegemtedControl 的分段按鈕個數
var number: Int = segmented.numberOfSegments
// 6.設置 UISegemtedControl 是否基於內容自動調整尺寸, 默認是 false, 前提是要不設置 UISegemtedControl 的尺寸
segmented.apportionsSegmentWidthsByContent = false
// 7.插入一個 UISegemtedControl 的分段按鈕, 而且設置標題和索引, 以及是否使用動畫
segmented.insertSegmentWithTitle("分段三", atIndex: 2, animated: true)
// 8.插入一個 UISegemtedControl 做爲分段按鈕, 而且設置索引, 以及是否使用動畫
segmented.insertSegmentWithImage(UIImage(named: "image_black.jpg")!, atIndex: 3, animated: true)
// 9.刪除指定索引的 UISegemtedControl 分段按鈕, 以及是否使用動畫
segmented.removeSegmentAtIndex(1, animated: true)
// 10.刪除全部 UISegemtedControl 的分段按鈕
//segmented.removeAllSegments()
// 11.修改 UISegemtedControl 指定的 Item 分段按鈕標題
segmented.setTitle("分段四", forSegmentAtIndex: 0)
// 12.獲取指定的 UISegemtedControl 分段按鈕的標題
var title: String = segmented.titleForSegmentAtIndex(0)!
println(title)
// 13.修改 UISegemtedControl 指定的 Item 分段按鈕圖片
segmented.setImage(UIImage(named: "image_black.jpg")!, forSegmentAtIndex: 2)
// 14.獲取指定的 UISegemtedControl 分段按鈕的圖片
var image: UIImage = segmented.imageForSegmentAtIndex(2)!
println(image)
// 15.設置 UISegemtedControl 指定的 Item 寬度
segmented.setWidth(70, forSegmentAtIndex: 0)
// 16.獲取指定 UISegemtedControl 分段按鈕的寬度
var width: CGFloat = segmented.widthForSegmentAtIndex(0)
println(width)
// 17.設置 UISegemtedControl 指定的 Item 內容偏移量
segmented.setContentOffset(CGSizeMake(5, 5), forSegmentAtIndex: 0)
// 18.獲取指定 UISegemtedControl 指定的 Item 內容偏移量
var size: CGSize = segmented.contentOffsetForSegmentAtIndex(0)
println(size)
// 19.設置 UISegemtedControl 指定的 Item 是否能夠點擊
segmented.setEnabled(true, forSegmentAtIndex: 0)
// 20.獲取指定 UISegemtedControl 指定的 Item 是否能夠點擊
var bool: Bool = segmented.isEnabledForSegmentAtIndex(0)
println(bool)
// 21.獲取 UISegemtedControl 可點擊的 Item 數量
var selected: Int = segmented.selectedSegmentIndex
println(selected)
// 22.設置 UISegemtedControl 的樣式顏色
segmented.tintColor = UIColor.redColor()
// 23.設置 UISegemtedControl 的背景圖片, 而且在 UISegemtedControl 指定的樣式下才會顯示, 以及圖片顯示的樣式
segmented.setBackgroundImage(UIImage(named: "image_black.jpg"), forState: UIControlState.Normal, barMetrics: UIBarMetrics.Default)
// 24.獲取 UISegemtedControl 在指定的狀態, 圖片顯示下的圖片
var backgroundImage: UIImage = segmented.backgroundImageForState(UIControlState.Normal, barMetrics: UIBarMetrics.Default)!
println(backgroundImage)
// 25.設置 UISegemtedControl 的左右的分隔符圖片, 而且在 UISegemtedControl 指定的樣式下才會顯示, 以及圖片顯示的樣式
segmented.setDividerImage(UIImage(named: "image_divider"), forLeftSegmentState: UIControlState.Normal, rightSegmentState: UIControlState.Normal, barMetrics: UIBarMetrics.Default)
// 26.獲取 UISegemtedControl 的左右的分隔符圖片, 而且在 UISegemtedControl 指定的樣式下才會顯示, 以及圖片顯示的樣式
var divider: UIImage = segmented.dividerImageForLeftSegmentState(UIControlState.Normal, rightSegmentState: UIControlState.Normal, barMetrics: UIBarMetrics.Default)!
println(divider)
// 27.添加 UISegemtedControl 的監聽方法
segmented.addTarget(self, action: "didClicksegmentedControlAction:", forControlEvents: UIControlEvents.ValueChanged)
// 添加到 self.view
self.view.addSubview(segmented)
}
UISegemtedControl的監聽方法ruby
func didClicksegmentedControlAction(segmented: UISegmentedControl!) {
var index = segmented.selectedSegmentIndex
if index == 0 {
println("分段按鈕一")
} else if index == 1 {
println("分段按鈕二")
} else if index == 2 {
println("分段按鈕三")
}
}
在 viewDidLoad 中實現markdown
override func viewDidLoad() {
super.viewDidLoad()
self.mySegmentedControl()
}
1
app
2
ide
PS: UISegemtedControl 是繼承與 UIControl 的, 因此 UIControl 裏面的方法以及屬性都是能夠使用的.動畫
好了, 此次咱們就講到這裏, 下次咱們繼續ui