博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UISegmentedControl
阅读量:6708 次
发布时间:2019-06-25

本文共 2351 字,大约阅读时间需要 7 分钟。

分段控件提供了⼀栏按钮,但是每次只能激活⼀个按钮,每⼀个按钮对应不同的屏幕显⽰的东西(这⾥的不同,应该理解为数据的不同,view是相同的,如筛选出不同的信息,但是view是⼀样的(布局样式是⼀样的))。      
 
//
//  ViewController.m
//  UISegmentedControl01
//
//  Created by cqy on 16/2/15.
//  Copyright © 2016年 程清杨. All rights reserved.
//
#import "ViewController.h"
@interface ViewController (){
    UISegmentedControl *seg;
}
@end
@implementation ViewController
- (void)viewDidLoad {
    [super viewDidLoad];
    //创建segmentcontrol
    NSMutableArray *itemArr = [NSMutableArray array];
    [itemArr addObject:@"first"];
    [itemArr addObject:@"second"];
    [itemArr addObject:@"thied"];
    //[[UISegmentedControl alloc] initWithItems:itemArr];为初始化⽅法,是UISegmentedControl特有的初始化⽅法。initWithItems:的参数是⼀个数组。
    seg = [[UISegmentedControl alloc] initWithItems:itemArr];
    //设置frame
    seg.frame = CGRectMake(50, 50, 200, 50);
    //设置分栏颜色
    seg.tintColor = [UIColor blueColor];
    //默认选中
    seg.selectedSegmentIndex = 0;
    //添加点击事件
    [seg addTarget:self action:@selector(segAction:) forControlEvents:UIControlEventValueChanged];
   
    [self.view addSubview:seg];
    //在这⾥添加⼀个button,每点击⼀次button,就会改变⼀次segment的标题:setTitle:@"第⼀项" forSegmentAtIndex:0说明把第0个分段的标题设置成“第⼀项”。
    UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
    btn.frame = CGRectMake(50, 150, 50, 50);
    btn.backgroundColor = [UIColor blueColor];
    [btn addTarget:self action:@selector(btnAction:) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:btn];
   
    // Do any additional setup after loading the view, typically from a nib.
}
- (void)btnAction:(UIButton *)sender{
    NSLog(@".....");
    //设置分段上的文字
    [seg setTitle:@"第一项" forSegmentAtIndex:0];
    [seg setTitle:@"第二项" forSegmentAtIndex:1];
    [seg setTitle:@"第三项" forSegmentAtIndex:2];
    [seg insertSegmentWithTitle:@"第四项" atIndex:3 animated:YES];
}
-(void)segAction:(UISegmentedControl *)sender{
    //添加segment点击事件:第⼀个参数:谁来执⾏,第⼆个参数,到谁那⾥去找segAction⽅法,然后执⾏,第三个参数:事件改变的时候才执⾏。
   
    NSLog(@"%ld",sender.selectedSegmentIndex);
   
   
    if (sender.selectedSegmentIndex == 0) {
        [sender setTintColor:[UIColor redColor]];
    }else if (sender.selectedSegmentIndex == 1){
         [sender setTintColor:[UIColor greenColor]];
    }else if (sender.selectedSegmentIndex == 2){
         [sender setTintColor:[UIColor brownColor]];
    }else{
        [sender setTintColor:[UIColor yellowColor]];
    }
}
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
@end
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

转载于:https://www.cnblogs.com/iQingYang/p/5193189.html

你可能感兴趣的文章
应用程序 数据缓存
查看>>
第二条:遇到多个构造器参数(Constructor Parameters)时要考虑用构建器(Builder)
查看>>
贴片电阻分类、阻值、功率、封装、尺寸
查看>>
【Eclipse】eclipse中设置tomcat启动时候的JVM参数
查看>>
国际化环境下系统架构演化
查看>>
openlayers入门开发系列之批量叠加zip压缩SHP图层篇
查看>>
Javascript调用Webservice的多种方法 .
查看>>
Linux 启动、关闭、重启网络服务
查看>>
Sublime Text 相关
查看>>
深入理解css优先级
查看>>
android的armeabi和armeabi-v7a
查看>>
android自己定义控件系列教程-----仿新版优酷评论剧集卡片滑动控件
查看>>
lvs之 lvs+nginx+tomcat_1、tomcat_2+redis(lvs dr 模式)
查看>>
让“是男人就下到100层”在Android平台上跑起来
查看>>
hdu4292Food(最大流Dinic算法)
查看>>
webdriver API study
查看>>
【Machine Learning in Action --4】朴素贝叶斯过滤网站的恶意留言
查看>>
Ubuntu+Eclipse+ADT+Genymotion+VirtualBox开发环境搭建
查看>>
Android 学习之 开源项目PullToRefresh的使用
查看>>
Matplot中文乱码完美解决方式
查看>>