分享

UI常用控件之UISegmentControl

 叹落花 2014-12-18
- (void)viewDidLoad
{

NSArray *segmentedArray = [[NSArray alloc]initWithObjects:@"单击",@"长按",@"轻扫",@"捏合",@"拖拽",@"旋转",nil];//提供个数 显示内容
    //初始化UISegmentedControl
    UISegmentedControl *segmentedControl =[[UISegmentedControl]alloc]initWithItems:segmentedArray];
    [segmentedControl addTarget:self action:@selector(sex:)forControlEvents:UIControlEventValueChanged];//添加值改变事件 不能使用单击时间
    segmentedControl.frame = CGRectMake(10.0, 400.0, 300.0, 50.0);

//设置控件风格  选一即可
    segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar; //控件风格小按钮,适合导航栏:
    segmentedControl.segmentedControlStyle = UISegmentedControlStyleBezeled; //控件风格
    segmentedControl.segmentedControlStyle = UISegmentedControlStyleBordered; //控件风格黑边的大白按钮,适合表格单元
    segmentedControl.segmentedControlStyle = UISegmentedControlStylePlain; //控件风格灰边大白按钮,适合偏好设置单元
   
    segmentedControl.tintColor = [UIColor blueColor]; //渲染色彩

    [segmentedControl setTitle:@"two" forSegmentAtIndex:1];//设置指定索引的题目
    [segmentedControl setImage:[UIImage imageNamed:@"lan.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 removeAllSegments];  //删除所有

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

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

    UIImage *myImage = [segmentedControl imageForSegmentAtIndex:3]; //读取图片

//瞬时单击
   segmentedControl.momentary = YES; //按钮被按下后很快恢复,默认为选中状态就一直保持

//初始化默认片段
   segmentedControl.selectedSegmentIndex = 0; //初始指定第0个选中

//显示控件
   [parentView addSubview:segmentedControl]; //添加到父视图
   self.navigationItem.titleView = segmentedControl; //添加到导航栏(通过视图控制器)

//读取控件
int selectIndex = segmentedControl.selectedSegmentIndex;  //对应当前被选总的片段号码

//添加事件
[segmentedControl addTarget:self action:@selector(controlPressed:) forControlEvents:UIControlEventValueChanged];

}

 //SegmentedControl触发的动作    

-(void)controlPressed:(id)sender

{        

        UISegmentedControl *control = (UISegmentedControl *)sender;

        if (control == mySegmentedControl) {            

            int x = control.selectedSegmentIndex;           

                     

    }

}

 
//获取总选项数segmentedControl.numberOfSegments
    UILabel *numberOfSegments = [[UILabel alloc]initWithFrame:CGRectMake(140.0, 100.0, 30.0, 30.0)];
    numberOfSegments.text = [NSString stringWithFormat:@"%d",segmentedControl.numberOfSegments];
   
   
//获取指定索引选项的宽度widthForSegmentAtIndex:
    UILabel *widthForSegmentAtIndex = [[UILabel alloc]initWithFrame:CGRectMake(180.0, 100.0, 70.0, 30.0)];
    widthForSegmentAtIndex.text = [NSString stringWithFormat:@"%f",[segmentedControl widthForSegmentAtIndex:2]];
   
    segmentedControl.selectedSegmentIndex = 2;//设置默认选择项索引
    segmentedControl.tintColor = [UIColor redColor];
    segmentedControl.segmentedControlStyle = UISegmentedControlStylePlain;//设置样式
    segmentedControl.momentary = YES;//设置在点击后是否恢复原样
   
    [segmentedControl setEnabled:NO forSegmentAtIndex:4];//设置指定索引选项不可选
    BOOL enableFlag = [segmentedControl isEnabledForSegmentAtIndex:4];//判断指定索引选项是否可选
    NSLog(@"%d",enableFlag);
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多