iOS基础控件之UISegmentedControl

简介:
  ***UISegmentedControl控件是iOS中比较常用的控件,作为一个iOS手机设备屏幕,一下子放多个UIButton,显然感觉不到美观,作为一个不妥协追求卓越的乔帮主肯定不愿意,所以设计出该控件,以满足平时的需求。***

NSArray *segmentedArray=[[NSArray alloc]initWithObjects:@”一”,@”二”,@”三”,@”四”,nil];
创建UISegmentedControl跟以往的控件相似:
segmentedControl=[[UISegmentedControl alloc]initWithItems:segmentedArray];
segemntedControl.frame=CGRectMake(80,180,250,60);控件初始化并且制定位置
UISegmentedControl控件是一个能深度定制的控件:
segmentedControl.selectedSegmentIndex=1;//默认选中项索引(计数是从0开始的)
segmentedControl.tintColor=[UIColor redColor];//设置背景颜色
segmentedControl.momentary=YES;//设置在点击后是否恢复原样
[self.segmentedControl setTitle:@”YES”forSegmentAtIndex:1];//设置指定索引的标题
[self.view addSubview:segmentedControl];
//设置控件的风格,不过试了下,有警告,不知道是否在ios8中被取消还是被修改了,待定!
segmentedControl.segmentedControlStyle=UISegmentedControlStyleBar;
几种风格:
typedef enum
{
UISegmentedControlStylePlain,
UISegmentedControlStyleBordered,
UISegmentedControlStyleBar,
UISegmentedControlStyleBezeled
}Style;
每一个小段其实就是一个小按钮UIButton,可以为此设置标签、背景、和监听事件
监听事件跟其他控件一样:
[segmentedControl addTarget:self action:@selector(segmentedAction:) forControlEvents:UIControlEventValueChanged];
-(void)segmentedAction:(UISegmentedControl *)Seg
{
NSInteger index=Seg.selectedSegmentIndex;
switch (index) {
case 0:
NSLog(@”%ld”,(long)index);
break;

    case 1:
        NSLog(@"%ld",(long)index);

        break;
        case 2:
        NSLog(@"%ld",(long)index);
        break;
        case 3:
        NSLog(@"%ld",(long)index);
        break;
}

}

[self.segmentedControl setImage:[UIImage imageNamed:@”“] forSegmentAtIndex:3];//设置指定索引的图片
在指定位置添加小段按钮:
[segmentedControl1 insertSegmentWithTitle:@”Add” atIndex:0 animated:YES];
按下是否会自动释放:
segmentedControl1.momentary = YES;
多点触控的支持:
segmentedControl.multipleTouchEnabled=NO;
显示该控件在实际开发中一般为两种情况:
一、显示在普通视图上
[self.view addSubview:segmentedControl];
二、显示在导航栏上、
self.navigationItem.titleView=segmentedControl;

目录
相关文章
|
iOS开发
iOS 多个滚动控件嵌套Demo
iOS 多个滚动控件嵌套Demo
71 0
|
iOS开发
iOS 常用的 上下左右 拉刷新控件
iOS 常用的 上下左右 拉刷新控件
106 0
|
iOS开发
iOS短信验证码控件,自动输入回调两次解决办法
iOS短信验证码控件,自动输入回调两次解决办法
481 0
|
iOS开发
IOS的UITableView控件简单使用
IOS的UITableView控件简单使用
160 0
|
iOS开发
iOS开发 - 写一个刷新的控件(未封装,适合新手学习,查看原理)
iOS开发 - 写一个刷新的控件(未封装,适合新手学习,查看原理)
149 0
iOS开发 - 写一个刷新的控件(未封装,适合新手学习,查看原理)
|
安全 iOS开发
iOS小技能:下拉刷新控件的适配
1. 下拉顶部背景色设置: 往tableView的父控件添加拉伸背景视图 2. present 半屏适配 iOS13 modalPresentationStyle属性默认不是全屏样式`UIModalPresentationFullScreen`,而是半屏样式,需要根据需求手动设置。 present 半屏,会导致列表下拉刷新失效。
209 0
iOS小技能:下拉刷新控件的适配
|
iOS开发
iOS小技能:自动布局实现兄弟控件N等分且宽高比例是1:N(xib 上实现)
本文为 iOS视图约束专题的第三篇:xib上使用自动布局教程
182 0
|
存储 前端开发 程序员
iOS开发:实现点击常用控件弹出地区选择框(万能方法)
在iOS开发中会遇到一些选择选项的需求,而且点击一个控件弹出一个选择框,选择之后展示到前端,然后再把选择的内容传给后台或者做本地存储。这个需求对于大多数开发者来说可以为小儿科,但是作为一个爱记录的程序猿来说相当可贵,所以还是那句话,只分享给有缘人,大牛可以飘过,不喜勿喷请走开。
438 0
iOS开发:实现点击常用控件弹出地区选择框(万能方法)
|
数据可视化 程序员 iOS开发
iOS开发:用XIB拖控件关联时报错:“Could not insert new outlet connection…”解决方法
在iOS开发过程中,尤其是iOS开发初期,会遇到各种各样的错误,有些错误是开发者的不熟悉或者疏忽大意造成的,还有些是无厘头的错误,可以通过重启Xcode或者重启电脑就可解决。
279 0
iOS开发:用XIB拖控件关联时报错:“Could not insert new outlet connection…”解决方法
|
iOS开发
iOS开发-加在透明视图上的控件会透明
iOS开发-加在透明视图上的控件会透明
139 0