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 UISegmentedControl 100 101 //2015年5月2后修改 102 var segment:UISegmentedControl = sender as! UISegmentedControl 103 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 }
时间: 2024-10-24 17:55:02