zoukankan      html  css  js  c++  java
  • UISegmentedControl分段控件

        分段控件提供了一栏按钮,但是每次只能激活一个按钮,每一个按钮对应不同的屏幕显示的东西(这里的不同,应该理解为数据的不同,view是相同的,如筛选出不同的信息,但是view是一样的(布局样式是一样的))。

    RootView.m

     

    // 创建segmentcontrol

       

        // 创建数组

        NSMutableArray *itemsArr = [NSMutableArray array];

        [itemsArr addObject:@"first"];

        [itemsArr addObject:@"second"];

        [itemsArr addObject:@"thied"];

        self.seg = [[[UISegmentedControl alloc]initWithItems:itemsArr]autorelease];

        // 设置frame

        self.seg.frame = CGRectMake(50, 50, 200, 50);

     

     

        self.seg.tintColor = [UIColor greenColor];

       

        // 默认选中

        self.seg.selectedSegmentIndex = 0;

      [self addSubview:_seg];

    1、self.seg = [[UISegmentedControl alloc]initWithItems:itemsArr];为初始化方法,是UISegmentedControl特有的初始化方法。initWithItems:的参数是一个数组。

    2、数组中又几个元素,这个segment就会分成几栏button。

    3、self.seg.tintColor,给分栏设置颜色

    4、self.seg.selectedSegmentIndex:为默认选中哪一个栏,参数是数组的下标。

    RootViewController.m

     

    - (void)viewDidLoad {

        [super viewDidLoad];

        UIButton *btn = [UIButton buttonWithType:UIButtonTypeSystem];

        btn.frame = CGRectMake(50, 150, 50, 50);

        btn.backgroundColor = [UIColor blueColor];

        [btn addTarget:self action:@selector(btnAction:) forControlEvents:UIControlEventTouchUpInside];

       

        [self.view addSubview:btn];

       

        // 添加segment点击事件

        [self.rv.seg addTarget:self action:@selector(segAction:) forControlEvents:UIControlEventValueChanged];

      

    }

     

    - (void)btnAction:(UIButton *)sender{

        NSLog(@"btn");

        // 设置segment分段上的文字

        [self.rv.seg setTitle:@"第一项" forSegmentAtIndex:0];

        [self.rv.seg setTitle:@"第二项" forSegmentAtIndex:1];

        [self.rv.seg setTitle:@"第三项" forSegmentAtIndex:2];

        [self.rv.seg insertSegmentWithTitle:@"第四项" atIndex:3 animated:YES];

       

      

       

    }

    // segment 响应方法

    - (void)segAction:(UISegmentedControl *)sender{

        NSLog(@"%ld",sender.selectedSegmentIndex);

       

        if (sender.selectedSegmentIndex == 0) {

     [sender setTintColor:[UIColor redColor]];

        }else if(sender.selectedSegmentIndex == 1){

            [sender setTintColor:[UIColor blueColor]];

        }else{

            [sender setTintColor:[UIColor whiteColor]];

        }

    }

    1、在controller里实现segment的逻辑

    2、在这里添加一个button,每点击一次button,就会改变一次segment的标题:setTitle:@"第一项" forSegmentAtIndex:0

    说明把第0个分段的标题设置成“第一项”。

    3、selectedSegmentAtIndex:0.被选中的分栏的下标为0

    4、setTintColor:改变分栏的颜色

    5、addTarget:selfaction:@selector(segAction:)forControlEvents:UIControlEventValueChanged

    添加segment点击事件:第一个参数:谁来执行,第二个参数,到谁那里去找segAction方法,然后执行,第三个参数:事件改变的时候才执行。

     

     

  • 相关阅读:
    Mongodb启动命令mongod参数说明
    10款免费且开源的项目管理工具
    如何让ConfigurationManager打开任意的配置文件
    Sql Server FOR XML PATH
    常用项目管理工具
    ThinkPHP最新版本SQL注入漏洞
    支付宝内部人士是这样设密码的!太牛逼了!
    犯罪分子如何用身份证套你的钱
    解析漏洞总结
    Sqlserver2008+搜索型注入技术
  • 原文地址:https://www.cnblogs.com/Coder-GT/p/4872567.html
Copyright © 2011-2022 走看看