UISegmengedControl - 分段控制器
来源:互联网 发布:网络交友的好处英文 编辑:程序博客网 时间:2024/06/07 13:30
UISegmengedControl - 分段控制器
继承关系
- NSObject ->UIResponder -> UIView ->UIControl -> UISegmengedControl
概述
UISegmengedControl
分段控制是一个由多个段组成的水平控制器,每个段作为一个独立的按钮存在。
当用户点击分段的时候,UISegmengedControl
会发送UIControlEventValueChanged
消息,通过侦听这个消息,做出相应的处理。
初始化及设置内容
var segmentedControl: UISegmentedControl!let image: UIImage! = UIImage(named: "icon")let items = ["nini", "wo", "ta"] let imageItems = [image, image, image]//初始化,可以以字符串或者图片方式创建 segmentedControl = UISegmentedControl(items: items) segmentedControl.center = CGPoint(x: 150, y: 200)//设置图标或标题,只能显示一个 segmentedControl.setImage(image, forSegmentAtIndex: 1) segmentedControl.setTitle("我", forSegmentAtIndex: 1)// 根据索引获得图标let imageSource = segmentedControl.imageForSegmentAtIndex(1)// 根据索引获得标题let title = segmentedControl.titleForSegmentAtIndex(1)
管理分段
// 在索引2处以图片方式插入分段segmentedControl.insertSegmentWithImage(image, atIndex: 2, animated: true)// 在索引3处以标题方式插入分段segmentedControl.insertSegmentWithTitle("insert", atIndex: 3, animated: true) // 删除所有分段 segmentedControl.removeAllSegments() //根据指定索引删除分段segmentedControl.removeSegmentAtIndex(0, animated: true)// 获得分段数量 let num = segmentedControl.numberOfSegmentssegmentedControl.addTarget(self, action: #selector(valueChanged(_:event:)), forControlEvents: UIControlEvents.ValueChanged) //设置默认选择分段,此设置不发送消息。 segmentedControl.selectedSegmentIndex = 1func valueChanged(sender: UISegmentedControl, event: UIControlEvents) { // 获取选择的分段索引 let index = sender.selectedSegmentIndex print("selectedIndex: \(index)") }
设置分段等行为与外观
//设置是否显示选中状态,true为不显示 segmentedControl.momentary = false //设置分段活动/禁用状态 segmentedControl.setEnabled(false, forSegmentAtIndex: 0) //获取指定索引分段的状态 let isEnable = segmentedControl.isEnabledForSegmentAtIndex(0) //设置指定索引分段的内容偏移量 segmentedControl.setContentOffset(CGSize(width: 3,height: 0), forSegmentAtIndex: 0)//获得指定索引分段的内容偏移量 let offset = segmentedControl.contentOffsetForSegmentAtIndex(0) //指定索引分段的宽度,设置为0.0表示自适应宽度 segmentedControl.setWidth(30, forSegmentAtIndex: 0) //获取指定索引分段的宽度 let w = segmentedControl.widthForSegmentAtIndex(0) //true:根据内容的宽度自动调整分段的宽度 segmentedControl.apportionsSegmentWidthsByContent = true
自定义控制器外观
//设置背景图像 segmentedControl.setBackgroundImage(UIImage(named: "bg"), forState: UIControlState.Normal, barMetrics: UIBarMetrics.Default)//获取背景图像let backImage = segmentedControl.backgroundImageForState(UIControlState.Normal, barMetrics: UIBarMetrics.Default)//设置段之间的分隔图像segmentedControl.setDividerImage(UIImage(named: "2"), forLeftSegmentState: UIControlState.Normal, rightSegmentState: UIControlState.Normal, barMetrics: UIBarMetrics.Default)//获取分隔图像let dividerImage = segmentedControl.dividerImageForLeftSegmentState(UIControlState.Normal, rightSegmentState: UIControlState.Normal, barMetrics: UIBarMetrics.Default)//设置标题文本属性segmentedControl.setTitleTextAttributes([NSForegroundColorAttributeName : UIColor.redColor(),NSFontAttributeName: UIFont.boldSystemFontOfSize(20)], forState: UIControlState.Normal)//获取文本属性let textAttributes = segmentedControl.titleTextAttributesForState(UIControlState.Normal)//对控制器内容进行坐标调整segmentedControl.setContentPositionAdjustment(UIOffset(horizontal: 3,vertical: 3), forSegmentType: UISegmentedControlSegment.Center, barMetrics: UIBarMetrics.Default)//获取内容偏移量let contendPosition = segmentedControl.contentOffsetForSegmentAtIndex(0)
forSegmentType的类型
enum UISegmentedControlSegment : Int{ case Any // 针对所有的分段 case Left //针对左侧分段,分段大于1 case Center //针对中间分段,分段大于2 case Right //针对右侧分段,分段大于1 case Alone //针对一个分段}
0 0
- UISegmengedControl - 分段控制器
- 分段控制器
- UISegmentControl 分段视图控制器
- UISegmentedControl 分段控制器
- iOS分段控制器
- IOS UISegmentedControl 分段控制器
- UISegmentedControl分段控制器
- UISegmentedControl(分段控制器)
- UI_滑竿,分段控制器
- ios 分段控制器
- UISegmentControl 分段控制器
- iOS开发-分段控制器UISegmentedControl
- iOS-分段控制器大全ZFJSegmentedControl
- iOS经验5:分段控制器之谈
- iOS分段控制器UISegmentedControl和开关UISwitch
- iOS开发 UI UISegmentedControl分段控制器
- 分段切换控制器(倒置的tableView)
- HMSegmentedControl分段控制器的学习与使用
- char 转wchar_t 及wchar_t转char
- C语言复习1之指针
- 分享一百多套开发视频教程的下载地址
- WCF 服务 ServiceBehavior 和OperationBehavior 属性
- osg动画资料地址
- UISegmengedControl - 分段控制器
- 【Android】【转】查看内存
- 使用C++类成员函数作为回调函数
- Eclipse 项目名称前出现大红色叹号分析
- CentOS 安装Java环境
- 礼拜三log~CSS控制文本不换行+省略号 & li宽度无效的解决方法 & 在js中获取后台变量
- iOS-关于Certificate、Provisioning Profile、App ID的介绍及其之间的关系
- {head first} --- networking 1
- git安装