• IOS:UI设计之UISegmentedControl相关基础


      作用:分段控件,页面的切换等等

      它们常用于在不同类别的信息之间的选择,或在不同的应用屏幕之间切换。

      下面是基本属性和基本方法的使用:

      NSArray *array = [NSArray arrayWithObjects:@"搜索",@"音乐",@"视频",@"小说",nil];  //创建一个数组

      UISegmentedControl *segmentedCont = [[UISegmentedControl alloc]initWithItems:array];  //初始化UISegmentedControl,并添加数组array,并根据数组生成相应的分栏数目

      segmentCont.frame = CGRestMake(x,y,w,h);    //设置frame

      segmentCont.segmentedControlStyle = UISegmentedControlStyleBezeled;  //设置分栏的样式

        IOS7系统环境下的显示样式

                           UISegmentedControlStyleBar

                           UISegmentedControlStylePlain

                           UISegmentedControlStyleBordered

            //如果你用的是IOS7系统的模拟器,你是会发现:不管你采用以上哪种样式,它们显示出来的效果都是一样的,但是,在IOS6上,它们显示的效果是不一样的,由于小编没有IOS6系统的模拟器,所以没有截图,这个就留给读者自己来体验

      segmentedCont.tintColor = [UIColor  redColor]; 

        //设置它的颜色,不过这个色彩只对它的UISegmentedControlStyleBarUISegmentedControlStyleBezeled样式有用

      segmentedCont.selectedSegmentIndex = 2;    //设置默认选择项索引 0,1,2,3....

      segmentedCont.momentary = YES;        //设置在点击后是否恢复原样

            //个人认为以下几个插入索引项的基本方法并不常用,了解便可以

      [segmentedCont setTitle:@"two" forSegmentAtIndex:2];  //设置指定索引的题目

      [segmentedCont setImage:[UIImage imageNamed:@"name.png"] forSegmentAtIndex:3];  //设置指定索引的图片,图片需要选择适合大小的

      [segmentedCont insertSegmentWithImage:[UIImage imageNamed:@"name1.png"] atIndex:2 animated:NO];  //在指定索引插入一个选项并设置图片

      [segmentedCont insertSegmentWithTitle:@"插入" atIndex:3 animated:NO];  //在指定索引插入一个选项并设置题目 

      [segmentedCont removeSegmentAtIndex:0 animated:NO];    //移除指定索引的选项

      [segmentedCont setWidth:70.0 forSegmentAtIndex:2];      //设置指定索引选项的宽度

      [segmentedControl setContentOffset:CGSizeMake(10.0,10.0) forSegmentAtIndex:3];  //设置选项中图片等的左上角的位置

      

        //获取指定索引选项的图片imageForSegmentAtIndex:  

      UIImageView *imageForSegmentAtIndex = [[UIImageView alloc]initWithImage:[segmentedCont imageForSegmentAtIndex:1]];  

      imageForSegmentAtIndex.frame = CGRectMake(x, y, w, h);

        

            //获取总选项数segmentedControl.numberOfSegments  

      UILabel *numberOfSegments = [[UILabel alloc]initWithFrame:CGRectMake(x, y, w, h)];  

      numberOfSegments.text = [NSString stringWithFormat:@"%d",segmentedCont.numberOfSegments];

          //获取指定索引选项的宽度widthForSegmentAtIndex:  

         UILabel *widthForSegmentAtIndex = [[UILabel alloc]initWithFrame:CGRectMake(x, y, w, h)];  

         widthForSegmentAtIndex.text = [NSString stringWithFormat:@"%f",[segmentedCont widthForSegmentAtIndex:2]]; 

      

      [segmentedCont setEnabled:NO forSegmentAtIndex:4];    //设置指定索引选项不可选 

      BOOL enableFlag = [segmentedCont isEnabledForSegmentAtIndex:4];    //判断指定索引选项是否可选

      

          //添加委托方法

      segmentedCont addTarget:self action:@selector(segmentAction:)  forControlEvents:UIControlEventsValueChanged];

              //具体委托方法实例:

    -(void)segmentAction:(UISegmentedControl *)SC

    {

      NSInteget Index = SC.selectedSegmentIndex;    //获取索引值

      NSLog(@"Index:%i",Index);

      switch(Index){            //判断选中的索引值

          case 0:

          {//响应的事件};

            break;

          case 1:

          {//响应的事件};

            break;

          case 2:

          {//响应的事件};

            break;

          case 3:

          {//响应的事件};

            break;

          default:

            break;

              }

    }

    (可能学得比较浅,大家要是有补充可以留言,有问题的大家一起探讨下,可以私下联系:QQ790444804    微信:hgwchihuo

                                                    -------我是快乐的小尾巴`(*∩_∩*)′)

  • 相关阅读:
    Caused by: com.mysql.cj.core.exceptions.InvalidConnectionAttributeException: The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone. You must configure either the
    Caused by: java.lang.IllegalArgumentException: @EnableAsync annotation metadata was not injected
    jpa单向一对一关系外键映射
    jpa关联映射
    svn 插件去除已经保存的密码方法
    【前端】less学习
    【CodeForces 520E】Pluses everywhere
    费马小定理证明
    【前端】纯前端的一个‘喜欢我吗?’
    Sublime text3 插件HTML/CSS/JS prettify 格式化代码
  • 原文地址:https://www.cnblogs.com/welcometheday/p/4483650.html
Copyright © 2020-2023  润新知