我的iOS学习历程 - UISegmentedControl

原创 2015年11月21日 10:40:31

今天学习的是UISegmentedControl,相当于一个切换的分区栏,例如看小说会分最新,最热等,可以用此控件来进行切换

1.初始化(用数组进行初始化)并添加到视图上

//     数组中初始化必须是字符串 或者 图片
//     如果选用图片初始化 必须使用镂空图
    NSArray *stringArray = @[@"第一段",@"第二段",@"第三段"];

//     分段按钮
    UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:stringArray];
    segmentedControl.frame = CGRectMake(20, 100, 300, 50);
    segmentedControl.backgroundColor = [UIColor greenColor];
    [self.view addSubview:segmentedControl];
    [segmentedControl release];

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

segmentedControl.selectedSegmentIndex = 1;

3.修改选中的颜色

segmentedControl.tintColor = [UIColor brownColor];

4.修改中间段的宽度

[segmentedControl setWidth:200 forSegmentAtIndex:1];

下面一个实例来说明怎么用UISegmentedControl切换页面:

UIImage *image1 = [UIImage imageNamed:@"01-refresh"];
    UIImage *image2 = [UIImage imageNamed:@"02-redo"];
    UIImage *image3 = [UIImage imageNamed:@"03-loopback"];
    NSArray *imageArray = @[image1, image2, image3];

    UISegmentedControl *segmentedControlImage = [[UISegmentedControl alloc] initWithItems:imageArray];
    segmentedControlImage.backgroundColor = [UIColor orangeColor];
    segmentedControlImage.frame = CGRectMake(40, 300, 300, 50);
    segmentedControlImage.tintColor = [UIColor purpleColor];
    segmentedControlImage.selectedSegmentIndex = 0;
    [self.view addSubview:segmentedControlImage];
    [segmentedControlImage release];
    // 添加一个点击事件
    // 选取UIControlEventValueChanged 实际上是检测了索引的变化
    [segmentedControlImage addTarget:self action:@selector(segmentedAction:) forControlEvents:UIControlEventValueChanged];

// 将三控制器设置为根视图控制器的子控制器
    self.grayVC = [[GrayViewController alloc] init];
    [self addChildViewController:self.grayVC];
    [self.view addSubview:self.grayVC.view];
    [_grayVC release];

    self.blueVC = [[BlueViewController alloc] init];
    [self addChildViewController:self.blueVC];
    [self.view addSubview:self.blueVC.view];
    [_blueVC release];

    self.greenVC = [[GreenViewController alloc] init];
    [self addChildViewController:self.greenVC];
    [self.view addSubview:self.greenVC.view];
    [_greenVC release];

    // 最前面的应该是segment
    // 然后是默认选中按钮对应的视图
    [self.view bringSubviewToFront:self.grayVC.view];
    [self.view bringSubviewToFront:segmentedControlImage];


}

- (void)segmentedAction:(UISegmentedControl *)segmentedControl
{
    // 需求 判断出 点击了哪个分段按钮
    // 每个分段按钮 控制一个界面 每个界面是一个控制器来控制 并且可以切换界面

       NSLog(@"点了第%ld个",segmentedControl.selectedSegmentIndex);
    // 通过索引切换不同的界面
    switch (segmentedControl.selectedSegmentIndex) {
        case 0:
            [self.view insertSubview:self.grayVC.view belowSubview:segmentedControl];
            break;
        case 1:
            [self.view insertSubview:self.greenVC.view belowSubview:segmentedControl];
            break;
        case 2:
            [self.view insertSubview:self.blueVC.view belowSubview:segmentedControl];
            break;
        default:
            break;
    }
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

iOS学习笔记—— UISegmentedControl 控件的简单使用

UISegmentedCont

【iOS学习笔记】代码实现常用控件UIButton、UISlider、UISwitch、UISegmentedControl

IOS中最常用到的控件UIButton、UISlider、UISwitch、UISegmentedControl通过Xib文件拖动生成非常简单,其实用代码实现也是一样的简单,当然,用代码实现能够掌握到...

【iOS学习】----UISegmentedControl

分段控件是我们常用的控件之一,今天把具体用法总结了下:           1.初始化UISegmentedControl NSArray *segmentedArray = [[NSA...

【学习ios之路:UI系列】ios中常见的几种控件.(UISlider,UISwitch,UIStepper,UISegmentedControl)

一.滑块控件(UISlider)  效果如下 注:系统原来效果如下 具体功能运用: ①创建滑块控件(UISlider),设置控件大小,并添加到window视图上,后释放 UISlid...
  • ZFX5130
  • ZFX5130
  • 2015年01月16日 17:56
  • 1228

Android仿iOS7的UISegmentedControl 分段

  • 2017年03月20日 17:24
  • 1.42MB
  • 下载

iOS开发从入门到精通-- 步进器UIStepper和分栏控制器UISegmentedControl

步进器UIStepper和分栏控制器UISegmentedControl 具体效果图: 声明:#import @interface ViewController : UIViewControl...

RadioGroup实现类似ios的分段选择(UISegmentedControl)控件

在ios7中有一种扁平风格的控件叫做分段选择控件UISegmentedControl,控件分为一排,横放着几个被简单线条隔开的按钮,每次点击只能选择其中一个按钮,他类似于tabbar但是又稍微有点区别...
  • zchlww
  • zchlww
  • 2016年06月07日 14:23
  • 482

RadioGroup实现类似ios的分段选择(UISegmentedControl)控件

项目地址:https://github.com/hoang8f/android-segmented-control compile 'info.hoang8f:android-segmented:1...

iOS UISwitch UISegmentedControl UITextField使用方法

iOS开发-swift3 中三个控件的使用:UISwitch,UISegmentedControl,UITextField
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:我的iOS学习历程 - UISegmentedControl
举报原因:
原因补充:

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