• UISegmentedControl的具体使用


    当用户输入不不过布尔值时。可使用分段控件(UISegmentedControl)。分段控件提供一栏button(有时称为button栏),但只能激活当中一个button。

    分段控件会导致用户在屏幕上看到的内容发生变化。

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

    以下介绍基本属性和基本方法的使用。

    NSArray *segmentedArray = [[NSArrayalloc]initWithObjects:@"1",@"2",@"3",@"4",nil];  

        //初始化UISegmentedControl  

        UISegmentedControl *segmentedControl = [[UISegmentedControlalloc]initWithItems:segmentedArray];  

        segmentedControl.frame = CGRectMake(20.0, 20.0250.050.0);  

        segmentedControl.selectedSegmentIndex = 2;//设置默认选择项索引  

        segmentedControl.tintColor = [UIColor redColor];  

      //有基本四种样式

        segmentedControl.segmentedControlStyle = UISegmentedControlStylePlain;//设置样式

     

        //segmentedControl.segmentedControlStyle = UISegmentedControlStyleBordered;//设置样式

       //segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;//设置样式

      //segmentedControl.segmentedControlStyle = UISegmentedControlStyleBezeled;//设置样式

     

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

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

        [segmentedControl setImage:[UIImage imageNamed:@"btn_jyy.png"] forSegmentAtIndex:3];//设置指定索引的图片  

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

     

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

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

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

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

        

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

        UIImageView *imageForSegmentAtIndex = [[UIImageViewalloc]initWithImage:[segmentedControl imageForSegmentAtIndex:1]];  

        imageForSegmentAtIndex.frame = CGRectMake(60.0120.030.030.0);  ;

        

        //获取指定索引选项的标题titleForSegmentAtIndex  

        UILabel *titleForSegmentAtIndex = [[UILabel alloc]initWithFrame:CGRectMake(100.0160.030.030.0)];  

        titleForSegmentAtIndex.text = [segmentedControl titleForSegmentAtIndex:0];  

        

        //获取总选项数segmentedControl.numberOfSegments  

        UILabel *numberOfSegments = [[UILabel alloc]initWithFrame:CGRectMake(140.0170.030.030.0)];  

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

     

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

        UILabel *widthForSegmentAtIndex = [[UILabel alloc]initWithFrame:CGRectMake(180.0210.070.030.0)];  

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

         

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

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

          [mySegmentedControladdTarget:selfaction:@selector(segmentAction:)forControlEvents:UIControlEventValueChanged];  //加入托付方法

    //详细托付方法实例   

    -(void)segmentAction:(UISegmentedControl *)Seg{

        NSInteger Index = Seg.selectedSegmentIndex;

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

        switch (Index) {

            case 0:

                [self selectmyView1];

                break;

            case 1:

                [self selectmyView2];

                break;

            case 2:

                [self selectmyView3];

                break;

            case 3:

                [self selectmyView4];

                break;

            case 4:

                [self selectmyView5];

                break;

            case 5:

                [self selectmyView6];

                break;    

            default:

                break;

        }

    }

     

    基本属性、方法如上,大家在实际开发中可依据实际需求选取适当属性和方法。

     

    使用技巧:

    在导航栏中加入UISegmentedControl ,实现的效果:

    实现的代码:

    //自己定义UISegmentedcontrol

    UISegmentedControl *segmentedControl=[[UISegmentedControl alloc] initWithFrame:CGRectMake(80.0f, 8.0f, 200.0f, 30.0f) ]; 
        [segmentedControl insertSegmentWithTitle:@"Food to eat" atIndex:0 animated:YES]; 
        [segmentedControl insertSegmentWithTitle:@"Food to avoid" atIndex:1 animated:YES]; 
        segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar; 
        segmentedControl.momentary = YES; 
        segmentedControl.multipleTouchEnabled=NO; 
        [segmentedControl addTarget:self action:@selector(Selectbutton:) forControlEvents:UIControlEventValueChanged]; 
        UIBarButtonItem *segButton = [[UIBarButtonItem alloc] initWithCustomView:segmentedControl];  //自己定义UIBarButtonItem。封装定义好的UIsegmented。
        [segmentedControl release]; 
        self.navigationItem.rightBarButtonItem = segButton;  //加入到导航栏中
        [segButton release];

  • 相关阅读:
    TH-Union教学机 指令总结
    Manjaro 显卡驱动安装
    grub学习内容
    manjaro 折腾
    链栈的实现
    汇编综合实验
    二叉树
    Oracle表空间基本操作
    Windows7/10实现ICMP(ping命令)
    WireShark——IP协议包分析(Ping分析IP协议包)
  • 原文地址:https://www.cnblogs.com/brucemengbm/p/6790444.html
Copyright © 2020-2023  润新知