UISegmentControl的用法

UISegmentControl长这样:


用法也很简单,只需要几行代码:

    UISegmentedControl *sc = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObjects:@"aaa", @"bbb", @"ccc", @"ddd", nil]];
    sc.frame = CGRectMake(10, 120, 300, 40);
    [self.view addSubview:sc];

另外,数组中也可以添加图片;关于segment的设置常用的有如下几个:

1.样式

[sc setSegmentedControlStyle:UISegmentedControlStyleBar];
有如下几种样式:

typedef enum {
    UISegmentedControlStylePlain,     // large plain
    UISegmentedControlStyleBordered,  // large bordered
    UISegmentedControlStyleBar,       // small button/nav bar style. tintable
    UISegmentedControlStyleBezeled,   // large bezeled style. tintable
} UISegmentedControlStyle;

2.自动弹起

[sc setMomentary:YES];//自动弹起
默认是NO,比如按下第一个之后,手指离开屏幕就变成了这样


如果设置成yes的话手指离开屏幕后第一项会自动弹起,效果仍和第一张图一样

3.插入,可以插入图片和文字

     [sc insertSegmentWithImage:image atIndex:0 animated:YES];
     [sc insertSegmentWithTitle:str atIndex:0 animated:YES];
     [sc insertSegmentWithTitle:@"haha" atIndex:sc.numberOfSegments animated:YES];


当然,也可以取得图片和文字,还有删除和关闭某一个segment

    //    [sc titleForSegmentAtIndex:0];//取title
    //    [sc imageForSegmentAtIndex:0];//取图
    //    [sc removeSegmentAtIndex:sc.numberOfSegments animated:YES];//删除
    //    [sc setEnabled:NO forSegmentAtIndex:2];//关闭某一个segment

4.设置背景图片和间隔图片

[sc setBackgroundImage:[UIImage imageNamed:@"header_bg.png"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];//最后一个参数是横屏还是竖屏
[sc setDividerImage:[UIImage imageNamed:@""] forLeftSegmentState:UIControlStateNormal rightSegmentState:UIControlStateNormal barMetrics:UIBarMetricsDefault];//间隔图片

5.添加事件

[sc addTarget:self action:@selector(segmentChange:) forControlEvents:UIControlEventValueChanged];

- (void)segmentChange:(UISegmentedControl *)control
{
    switch (control.selectedSegmentIndex) {//获取出发事件的segment
        case 0:
            NSLog(@"aaa");
            break;
        case 1:
            NSLog(@"bbb");
        case 2:
            NSLog(@"ccc");
            ...
        default:
            break;
    }
}


6.另外,还可以将segment添加到navigation上边

self.navigationItem.titleView = sc;




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值