UISegmentedControl简单使用

- (void)viewDidLoad
{
    [super viewDidLoad];
    
    NSArray *segmentArray = @[
                              @"1",
                              @"2",
                              @"3",
                              @"4"
                              ];
    
    // 初始化UISegmentedControl
    UISegmentedControl *segmentControl = [[UISegmentedControl alloc] initWithItems:segmentArray];
    segmentControl.frame = CGRectMake(0, 0, self.view.frame.size.width - 20, 30);
    segmentControl.center = self.view.center;
    
    // 设置默认选择项索引
    segmentControl.selectedSegmentIndex = 2;
    segmentControl.tintColor = [UIColor redColor];
    
    // 设置在点击后是否恢复原样
    segmentControl.momentary = YES;
    
    // 设置指定索引的题目
    [segmentControl setTitle:@"two" forSegmentAtIndex:1];
    
    // 设置指定索引的图片
    [segmentControl setImage:[UIImage imageNamed:@"little_animal_02"] forSegmentAtIndex:3];
    
    // 在指定索引插入一个选项并设置图片
    [segmentControl insertSegmentWithImage:[UIImage imageNamed:@"little_animal_03"] atIndex:2 animated:NO];
    
    // 在指定索引插入一个选项并设置题目
    [segmentControl insertSegmentWithTitle:@"insert" atIndex:3 animated:NO];
    
    // 移除指定索引的选项
    [segmentControl removeSegmentAtIndex:0 animated:YES];
    
    // 设置指定索引选项的宽度
    [segmentControl setWidth:70.0 forSegmentAtIndex:2];

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

    // 获取指定索引选项的图片imageForSegmentAtIndex
    UIImageView *imageForSegmentAtIndex = [[UIImageView alloc] initWithImage:[segmentControl imageForSegmentAtIndex:1]];
    imageForSegmentAtIndex.frame = CGRectMake(60.0, 120.0, 30.0, 30.0);  ;

    // 获取指定索引选项的标题titleForSegmentAtIndex
    UILabel *titleForSegmentAtIndex = [[UILabel alloc] initWithFrame:CGRectMake(100.0, 160.0, 30.0, 30.0)];
    titleForSegmentAtIndex.text = [segmentControl titleForSegmentAtIndex:0];
    
    // 获取总选项数segmentedControl.numberOfSegments
    UILabel *numberOfSegments = [[UILabel alloc] initWithFrame:CGRectMake(140.0, 170.0, 30.0, 30.0)];
    numberOfSegments.text = [NSString stringWithFormat:@"%ld", segmentControl.numberOfSegments];

    // 获取指定索引选项的宽度widthForSegmentAtIndex
    UILabel *widthForSegmentAtIndex = [[UILabel alloc]initWithFrame:CGRectMake(180.0, 210.0, 70.0, 30.0)];
    widthForSegmentAtIndex.text = [NSString stringWithFormat:@"%f", [segmentControl widthForSegmentAtIndex:2]];

    // 设置指定索引选项不可选
    [segmentControl setEnabled:NO forSegmentAtIndex:4];
    
    // 判断指定索引选项是否可选
    BOOL enableFlag = [segmentControl isEnabledForSegmentAtIndex:4];
    NSLog(@"%d", enableFlag);
    
    // 添加监听
    [segmentControl addTarget:self action:@selector(didClickSegmentedControlAction:)forControlEvents:UIControlEventValueChanged];
    
    [self.view addSubview:segmentControl];
}

/**
 *  监听点击了哪项
 */
- (void)didClickSegmentedControlAction:(UISegmentedControl *)segmentControl
{
    NSInteger idx = segmentControl.selectedSegmentIndex;
    
    NSLog(@"%ld", idx);
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容