您的位置:首页 > 产品设计 > UI/UE

IOS UISegmentedControl

2015-11-08 23:21 405 查看
//
//  ViewController.swift
//  UISegmentedControl
//
//  Created by liaojianguo on 15/11/8.
//  Copyright © 2015年 liaojianguo. All rights reserved.
//

import UIKit

class ViewController: UIViewController {

override func viewDidLoad() {
super.viewDidLoad()

//先创建一个数组用于设置分段控件的标题
let appsArray:[String] = ["选项1","选项2","选项3","选项4","选项5"]
//let appsArray = ["选项一","选项二","选项三",UIImage(named: "cat.jpg")!] as [AnyObject]

//创建分段控件
let segment:UISegmentedControl = UISegmentedControl(items: appsArray)

//设置坐标大小
segment.frame = CGRectMake(20, 100, 280, 40)

segment.center=self.view.center

segment.selectedSegmentIndex=0 //默认选中第1项

//获取选中的坐标
//var index = segment.selectedSegmentIndex

//设置下标等于2的标题
segment.setTitle("2", forSegmentAtIndex: 2)

//设置下标等于3的图片,图片和标题不能共存,设置图片之后,原来标题就不显示了
let image = UIImage(named: "e022.png")

segment.setImage(image, forSegmentAtIndex: 3)

//在坐标为2的位置,插入一个分段标题
segment.insertSegmentWithTitle("3", atIndex: 2, animated: true)

//在坐标为4的位置,插入一个分段图片
//segment.insertSegmentWithImage(UIImage(named: "panpan.jpg")!, atIndex: 2, animated: true)

//获取segment的数量
//var count = segment.numberOfSegments;
//print(count)

//获取某一个下标下的标题
//var title = segment.titleForSegmentAtIndex(1)

//momentary默认为NO点击之后一直处于选中状态,除非点击其他分段,才恢复。 当设置为YES时,点击选中,但一会就是恢复到正常状态。
segment.momentary = true;

//设置某一分段是否可用
segment.setEnabled(false, forSegmentAtIndex: 1)

//设置下标为2的segment的宽度
segment.setWidth(50, forSegmentAtIndex: 1)

//是否根据segment的内容改变segment的宽度
segment.apportionsSegmentWidthsByContent = true

//设置标题颜色
//segment.tintColor = UIColor.redColor()

//移除下标是2的segment
segment.removeSegmentAtIndex(5, animated: true)

//移出所有segment
//segment.removeAllSegments()

segment.setContentOffset(CGSizeMake(5,5),forSegmentAtIndex:1)

segment.addTarget(self, action: "segmentDidchange:",
forControlEvents: UIControlEvents.ValueChanged)  //添加值改变监听

//添加到视图上
self.view.addSubview(segment)

}

func segmentDidchange(segmented:UISegmentedControl){
//获得选项的索引
print(segmented.selectedSegmentIndex)
//获得选择的文字
print(segmented.titleForSegmentAtIndex(segmented.selectedSegmentIndex))
}

}


let shadow = NSShadow()
shadow.shadowColor = UIColor(red: 1.0, green: 1.0, blue: 1.0, alpha: 1.0)
shadow.shadowOffset = CGSizeMake(0, 1)
let color : UIColor = UIColor(red: 220.0/255.0, green: 104.0/255.0, blue: 1.0/255.0, alpha: 1.0)
let titleFont : UIFont = UIFont(name: "AmericanTypewriter", size: 25.0)!
let attributes = [
NSForegroundColorAttributeName : color,
NSShadowAttributeName : shadow,
NSFontAttributeName : titleFont
]
segmented.setTitleTextAttributes(attributes,forState:UIControlState.Normal)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: