UISegmentedControl

原创 2015年11月17日 21:53:28

初始化

初始化的数组中 必须是 字符串 或者 图片
如果选用图片初始化 必须使用镂空图

NSArray *itemArray = @[@"第一段",@"第二段",@"第三段"];

分段按钮

UISegmentedControl *segment = [[UISegmentedControl alloc]initWithItems:itemArray];

设置位置

segment.frame = CGRectMake(20, 100, 300, 50);

设置背景颜色

segment.backgroundColor = [UIColor cyanColor];

设置默认选中(从0开始)

segment.selectedSegmentIndex = 1;

修改选中颜色

segment.tintColor = [UIColor yellowColor];

修改中间段的宽度

[segment setWidth:200 forSegmentAtIndex:1];

添加到父视图上

[self.view addSubview:segment];

释放

[segment release]

创建控制器

注意 : 这里先用属性声明了 所有直接这样写
属性的声明

把控制器 改成属性 变量调用
@property (nonatomic ,retain)SecondViewController *secondVC;
@property (nonatomic ,retain)ThirdViewController *thirdVC;
@property (nonatomic ,retain)FourViewController *fourVC;
self.secondVC = [[SecondViewController alloc]init];

添加子控制器 并且显示视图

[self addChildViewController:self.secondVC];
[self.view addSubview:self.secondVC.view];

释放

[_secondVC release];

初始化一个图片

注意这里的图片是镂空图 而且还是PNG格式 如果不是PNG格式
则要把什么格式加上例如

@"01-refresh.jpg"
UIImage *image1 = [UIImage imageNamed:@"01-refresh"];

添加一个点击事件

选取ValueChanged 实际上是监测的 索引的变化

重点方法 我们监测的是值的变化 所以我们要注意UIControlEventValueChanged

[segment1 addTarget:self action:@selector(segmentAction:) forControlEvents:(UIControlEventValueChanged)];

最前面的应该是segment1 然后是默认选中第一界面视图 secondVC.view

[self.view bringSubviewToFront:self.secondVC.view];
    [self.view bringSubviewToFront:segment1];

实现点击方法

- (void)segmentAction:(UISegmentedControl *)segment
{
    需求  判断出点击了那个分段按钮
    NSLog(@"%ld",segment.selectedSegmentIndex);
    每个分段按钮 控制一个界面 每个界面是一个控制器来控制 并且可以切换界面
    通过索引切换不同的页面
    switch (segment.selectedSegmentIndex) {
        case 0:
            [self.view bringSubviewToFront:self.secondVC.view];
            break;
        case 1:
            [self.view bringSubviewToFront:self.thirdVC.view];
            break;
        case 2:
            [self.view bringSubviewToFront:self.fourVC.view];
            break;

        default:
            break;
    }
    每次都把segment放到最上面
    [self.view bringSubviewToFront:segment];
 }
UI学习第六天
版权声明:本文为博主原创文章,未经博主允许不得转载。

UISegmentedControl的基本用法

@UISegmentedControl类似于UIButton,它可以提供多个选择操作,响应事件,但具有很大的局限性,我们更多的是使用自定义的,不过在这里还是介绍下它的基本用法. NS...
  • humingtao2013
  • humingtao2013
  • 2014年08月05日 21:07
  • 20105

UISegmentedControl自定义背景颜色和字体颜色

在UISegmentedControl的控件中,有一个设置默认颜色的 // The tintColor is inherited through the superview hierarchy. S...
  • chuming0311
  • chuming0311
  • 2016年11月21日 15:13
  • 4755

UISegmentedControl的常用属性

UISegmentedControl集成关系:UISegmentedControl:UIControl:UIView:UIResponder:NSObject
  • lover0920
  • lover0920
  • 2015年12月03日 14:56
  • 602

swift UISegmentedControl

发现不是很好用,因为有时候需要图片和文字同时存在,所以一般还是自定义了        /* swift 3.0    UISegmentedControl的使用                 ...
  • IOS_fresh_monkey
  • IOS_fresh_monkey
  • 2016年12月23日 10:09
  • 671

UISegmentedControl添加图片不显示的问题

UIImage *picture1 = [[UIImage imageNamed:@"fuwu-1"]imageWithRenderingMode:UIImageRenderingModeAlways...
  • SYH523364
  • SYH523364
  • 2016年04月22日 14:51
  • 985

UISegmentedControl 去掉中间的分割线

#pragma mark -- 顶部的切换按钮 - (void)createTopSegmentUI { if (!_segmentView) { _segmentVi...
  • robinson_911
  • robinson_911
  • 2017年02月21日 11:25
  • 746

UISegmentedControl切换页面

UISegmentedControl切换页面
  • qq_29892943
  • qq_29892943
  • 2015年08月26日 11:27
  • 1623

[IOS] iphone之UISegmentedControl

[IOS] iphone之UISegmentedControl 代码如下: //选择按钮     NSArray *buttonNames = [NSArray arrayW...
  • wishfly
  • wishfly
  • 2012年02月23日 21:25
  • 4311

uisegmentedcontrol类重写,自定义按钮和背景颜色

。h文件 #import  @interface MCSegmentedControl : UISegmentedControl { NSMutableArray *_ite...
  • shuqianwin
  • shuqianwin
  • 2016年09月13日 17:16
  • 394

iOS——UISegmentedControl 的用法

UISegmentedControl是iOS中的分段控件。 //Segmented 分段的、分割 每个segment都能被点击,相当于集成了若干个button。 通常我们会点击不同的segmen...
  • ci915194561
  • ci915194561
  • 2015年09月06日 19:27
  • 440
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:UISegmentedControl
举报原因:
原因补充:

(最多只允许输入30个字)