標籤:
UISegmentedControl
1 override func viewDidLoad() { 2 super.viewDidLoad() 3 4 titleLabel.text = titleString 5 6 //先建立一個數組用於設定分段控制項的標題 7 var appsArray:[String] = ["租房點評","哪裡逃","AllOff","iJump","數獨"] 8 9 //建立分段控制項 10 var segment:UISegmentedControl = UISegmentedControl(items: appsArray) 11 12 //設定座標大小 13 segment.frame = CGRectMake(20, 100, 320, 40) 14 15 //添加到視圖上 16 self.view.addSubview(segment) 17 18 19 20 //----------------- 分段控制項常用屬性和方法 21 22 //預設選中下標為1的 23 segment.selectedSegmentIndex = 1 24 25 //擷取選中的座標 26 var index = segment.selectedSegmentIndex 27 28 //設定下標等於2的標題 29 segment.setTitle("Bird Flying", forSegmentAtIndex: 2) 30 31 //設定下標等於3的圖片,圖片和標題不能共存,設定圖片之後,原來標題就不顯示了 32 segment.setImage(UIImage(named: "segmentImage.png"), forSegmentAtIndex: 3) 33 34 //在座標為2的位置,插入一個分段標題 35 segment.insertSegmentWithTitle("考試導航", atIndex: 2, animated: true) 36 37 //在座標為4的位置,插入一個分段圖片 38 segment.insertSegmentWithImage(UIImage(named: "segmentImage.png")!, atIndex: 2, animated: true) 39 40 //擷取segment的數量 41 var count = segment.numberOfSegments; 42 println(count) 43 44 //擷取某一個下標下的標題 45 var title = segment.titleForSegmentAtIndex(1) 46 47 //擷取某一個下標下得圖片 48 var image = segment.imageForSegmentAtIndex(2) 49 50 51 //momentary預設為NO點擊之後一直處於選中狀態,除非點擊其他分段,才恢複。 當設定為YES時,點擊選中,但一會就是恢複到正常狀態。 52 segment.momentary = true; 53 54 //設定某一分段是否可用 55 segment.setEnabled(false, forSegmentAtIndex: 1) 56 57 //設定下標為2的segment的寬度 58 segment.setWidth(80, forSegmentAtIndex: 2) 59 60 //擷取某一個下標segment的寬度 61 var width = segment.widthForSegmentAtIndex(2) 62 63 //設定內容位移 64 segment.setContentOffset(CGSizeMake(10, 10), forSegmentAtIndex: 2) 65 66 //擷取某一個下標segment的內容位移 67 var size = segment.contentOffsetForSegmentAtIndex(2) 68 69 //是否根據segment的內容改變segment的寬度 70 segment.apportionsSegmentWidthsByContent = true 71 72 //設定標題顏色 73 segment.tintColor = UIColor.redColor() 74 75 //擷取顏色 76 var segmentColor = segment.tintColor 77 78 //移除下標是2的segment 79 segment.removeSegmentAtIndex(2, animated: true) 80 81 //移出所有segment 82 segment.removeAllSegments() 83 84 85 //添加事件,當segment改變時,觸發 86 segment.addTarget(self, action: "segmentChange:", forControlEvents: UIControlEvents.ValueChanged) 87 88 89 90 } 91 92 93 //segemnet選擇改變事件 94 func segmentChange(sender: AnyObject?) 95 { 96 // var segment:UISegmentedControl = sender as UISegmentedControl 97 98 //2015年5月2後修改 99 // var segment:UISegmentedControl = sender as UISegmentedControl100 101 //2015年5月2後修改102 var segment:UISegmentedControl = sender as! UISegmentedControl103 switch segment.selectedSegmentIndex {104 105 case 0 :106 println("000 ")107 case 1 :108 println("11111 ")109 case 2 :110 println("2222 ")111 default:112 113 println("default ")114 }115 }
iOS開發——UI篇Swift篇&UISegmentedControl