[TwistedFate]UISegmentedControl

UISegmentedControl

初始化

初始化的数组中 必须是 字符串(标题) 或者图片,如果选择图片初始化,则图片必须是镂空图片

NSArray *itemArray = @[@"第一段", @"第二段", @"第三段"];
// 分段按钮, 独有的初始化方法
UISegmentedControl *segmentControl = [[UISegmentedControl alloc] initWithItems:itemArray];

位置,背景色

segmentControl.frame = CGRectMake(20, 100, 300, 50);
segmentControl.backgroundColor  = [UIColor redColor];

设置默认选中(索引从零开始)

segmentControl.selectedSegmentIndex = 1;

修改选中的颜色

segmentControl.tintColor = [UIColor cyanColor];

修改指定下标段的宽度

[segmentControl setWidth:200 forSegmentAtIndex:1];

添加到视图上并释放

[self.view addSubview:segmentControl];
[segmentControl release];

添加一个点击事件

// 注意监测值变化ValueChanged (索引值的变化)
[seg addTarget:self action:@selector(segClick:) forControlEvents:(UIControlEventValueChanged)];

添加三个子视图控制器 点击SegmentedControl实现界面切换

self.secondVC = [[SecondViewController alloc] init];
    [self addChildViewController:self.secondVC];
    [self.view addSubview:self.secondVC.view];
    [_secondVC release];

    self.thirdVC = [[ThirdViewController alloc] init];
    [self addChildViewController:self.thirdVC];
    [self.view addSubview:self.thirdVC.view];
    [_thirdVC release];
    self.forthVC = [[ForthViewController alloc] init];
    [self addChildViewController:self.forthVC];
    [self.view addSubview:self.forthVC.view];
    [_forthVC release];
    // 在最前面的应该是segment
    // 然后是默认选中第一界面视图 self.secondVC.view
    [self.view bringSubviewToFront:self.secondVC.view];

点击方法的实现

- (void)segClick:(UISegmentedControl *)seg{
    // 需求 判断出 点击了那个分段按钮
    // 三段每个分段按钮控制一个界面 每个界面是一个controller控制器 并且可以切换界面
    NSLog(@"点了..%ld个",seg.selectedSegmentIndex);
    // 通过索引切换不同的页面
    switch (seg.selectedSegmentIndex) {
        case 0:
        {
            [self.view bringSubviewToFront:self.secondVC.view];   
        }
            break;
        case 1:
        {
            [self.view bringSubviewToFront:self.thirdVC.view];

        }
            break;

        case 2:
        {
            [self.view bringSubviewToFront:self.forthVC.view];   
        }  
        default:
            break;
    }
    // 每次都把seg放到最上面
    [self.view bringSubviewToFront:seg];
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值