iOS开发 UI UISegmentedControl分段控制器

分段控件提供一栏按钮(有时称为按钮栏),但只能激活其中一个按钮。分段控件会导致用户在屏幕上看到的内容发生变化。它们常用于在不同类别的信息之间选择,或在不同的应用屏幕之间切换。下面介绍基本属性和基本方法的使用。

UISegmentedControl

1.创建RootView和RootviewController

2.在RootView声明属性,设置属性

- (instancetype)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        [self setupView];
    }
    return self;
}

- (void)setupView{
#pragma mark       UISegmentController
   
    //建立一个数组,将对象放进去
    NSArray *itemArr = [[NSArray alloc]initWithObjects:@"柠檬茶",@"电影票",@"爆米花",@"软妹子", nil];
    //初始化segmentController
    self.seg = [[UISegmentedControl alloc] initWithItems:itemArr];
    self.seg.backgroundColor = [UIColor yellowColor];
    self.seg.frame = CGRectMake(0, 0, CGRectGetWidth(self.frame), 100);
    [self addSubview:self.seg];
@end

3.在RootViewcontroller中实现

#import "RootViewController.h"
#import "RootView.h"
@interface RootViewController ()
@property (nonatomic,strong)RootView *rv;
@end

@implementation RootViewController
-(void)loadView{
    self.rv = [[RootView alloc] initWithFrame:[[UIScreen mainScreen]bounds]];
    self.view = self.rv;
}

- (void)viewDidLoad {
    [super viewDidLoad];
#pragma mark         segmentController 分段控制器

    NSString *temp1 = [self.rv.seg titleForSegmentAtIndex:0];
    NSLog(@"%@",temp1);
    //修改索引值下面的标题
    [self.rv.seg setTitle:@"么么哒" forSegmentAtIndex:0];
    //设置背景图
    [self.rv.seg setBackgroundImage:[UIImage imageNamed:@"6.jpg"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
    UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
    button.backgroundColor = [UIColor redColor];
    button.frame = CGRectMake(100, 200, 50, 50);
    [self.rv addSubview:button];
    
    [button addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchUpInside];
    //设置边框和字体颜色
    [self.rv.seg setTintColor:[UIColor greenColor]];
    //给segmentcontroller添加点击事件
    [self.rv.seg addTarget:self action:@selector(segAction:) forControlEvents:UIControlEventValueChanged];
 
#pragma mark         segmentController的点击事件


//设置seg点击事件的背景图
- (void)segAction:(UISegmentedControl *)sender{
    if (sender.selectedSegmentIndex == 0) {
        self.rv.backgroundColor = [UIColor blueColor];
    }else if (sender.selectedSegmentIndex == 1){
        self.rv.backgroundColor = [UIColor cyanColor];
    }else if (sender.selectedSegmentIndex == 2){
        self.rv.backgroundColor = [UIColor grayColor];
    }else if (sender.selectedSegmentIndex == 3){
        self.rv.backgroundColor = [UIColor yellowColor];
    }
}

- (void)buttonAction:(UIButton *)sender{
    //在指定索引下插入segmentcontrol的item
  //   [self.rv.seg insertSegmentWithImage:@"洗刷刷" atIndex:2 animated:YES];
    //在指定索引下删除
    //[self.rv.seg removeSegmentAtIndex:0 animated:NO];
}


效果图:




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值