UISwitch(开关控件)、UISegmentedControl(分段控件)

一、UISwitch

1、初始化

UISwitch *s1 = [[UISwitch alloc]initWithFrame:CGRectMake(50, 170, 100, 200)];

2、设置相关属性

s1.onTintColor = [UIColor blueColor];

s1.tintColor = [UIColor greenColor];

s1.thumbTintColor = [UIColor redColor];

3、设置开关状态

s1.on = YES;

4、添加事件

[s1 addTarget:self action:@selector(myswitch) forControlEvents:UIControlEventValueChanged];

[s1 addTarget:self action:@selector(myswitch:) forControlEvents:UIControlEventValueChanged];

5、加入父视图

[self.view addSubview:s1];

添加事件的方法

-(void)myswitch{
    NSLog(@"触发了改方法");
}
-(void)myswitch:(UISwitch *)s{
    UISwitch *s2 = (UISwitch *)[self.view viewWithTag:1];
    NSLog(@"%d",s.isOn);
    NSLog(@"%d",s2.isOn);

}

二、UISegmentedControl

1、初始化

(1)方式1

UISegmentedControl *seg  =[[UISegmentedControl alloc] initWithFrame:CGRectMake(30, 100, 200, 40)];//创建时初始化大小,但是不设置每段的参数

(2)方式2

UISegmentedControl *seg1 = [[UISegmentedControl alloc] initWithItems:@[@"1",@"2",@"3"]];//初始化时直接给出初始的段数及title

2、设置相关属性

(1)[seg setTitle:@"我的" forSegmentAtIndex:0];//设置某一段的标题文字

(2)[seg setImage:[UIImage imageNamed:@"lanzuan"] forSegmentAtIndex:0];//设置某一分段的image,注意title和image二者只能存在一个

(3)[seg insertSegmentWithTitle:@"2" atIndex:0 animated:NO];//在下标为0的位置插入一个标题为2的分段,注意下标的合理性

(4)[seg insertSegmentWithImage:[UIImage imageNamed:@"1.png"] atIndex:0 animated:NO];//在下标为0的位置插入一个分段,设置其图片

(5)seg.tintColor = [UIColor whiteColor];//设置segment的边框颜色及文字/图片颜色

(6)[seg removeSegmentAtIndex:0 animated:YES];//移除某一分段

(7)[seg removeAllSegments];//移除所有的分段

(8)seg.numberOfSegments; //移除某一分段

(9)seg.selectedSegmentIndex = 0;//默认选中第几个选段

(10)NSString *str = [seg titleForSegmentAtIndex:0];//获取某一段的title

(11)UIImage  *image = [seg imageForSegmentAtIndex:0];//获取某一段的图片

(12)[seg setWidth:30 forSegmentAtIndex:0];//设置某一段的宽度

(13)[seg setBackgroundImage:[UIImage imageNamed:@"imsend"] forState: UIControlStateNormal barMetrics: UIBarMetricsDefault];//设置常态下的背景图

(14)[seg setBackgroundImage:[UIImage imageNamed:@"logoin_6"] forState:UIControlStateSelected barMetrics:UIBarMetricsDefault];//设置选中的背景图

(15)[seg addTarget:self action:@selector(change:) forControlEvents:UIControlEventValueChanged];//绑定监听事件

UISegmentedControl *segment1 = [[UISegmentedControlalloc]initWithItems:@[@"你好",@"欢迎",@"加入"]];//初始化时直接给出初始的段数及title

segment1.frame = CGRectMake(90, 240, 200, 50);//初始化大小
  
    [segment1 insertSegmentWithImage:[UIImage imageNamed:@"3.jpg"] atIndex:1 animated:YES];//插入图片并允许动画
   
     NSLog(@"段数:%zi",segment1.numberOfSegments);//获取段数
    [segment1 setTitle:@"我们" forSegmentAtIndex:0];
    NSString *str = [segment1 titleForSegmentAtIndex:1];//获取图片标题,注意图片中插入的位置要对应起来
   
    NSLog(@"图片标题=%@",str);
    UIImage *image = [segment1 imageForSegmentAtIndex:1];
    NSLog(@"图片=%@",image);
   
    //[segment1 setWidth:100 forSegmentAtIndex:0];//设置某段的宽
    //[segment1 setEnabled:NO forSegmentAtIndex:0];//设置某一段是否被激活
    //[segment1 setEnabled:NO];//整体不被激活
   
    segment1.selectedSegmentIndex = 1;//设置默认选中项
    NSLog(@"%zi",segment1.selectedSegmentIndex);//获取当前被选中的段
    segment1.tintColor = [UIColor greenColor];//边框和选中颜色
    [segment1 setBackgroundImage:[UIImage imageNamed:@"3"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
    // UIControlStateNormal、UIBarMetricsDefault 设置成默认的就好

[segment1 addTarget:self action:@selector(segmentchange) forControlEvents:UIControlEventValueChanged];

//触发事件

-(void)segmentchange{
    NSLog(@"分段被点击");

}

[self.view addSubview:segment1];

UISegmentedControl *s = [[UISegmentedControl alloc]initWithFrame:CGRectMake(50, 400, 100, 50)];
    [s insertSegmentWithTitle:@"分段" atIndex:3 animated:YES];
    [s insertSegmentWithTitle:@"函数" atIndex:0 animated:YES];//增加

//[s removeSegmentAtIndex:0 animated:YES];//移除

[self.view addSubview:s];

时间: 2024-10-11 18:31:25

UISwitch(开关控件)、UISegmentedControl(分段控件)的相关文章

iOS系列 基础篇 09 开关、滑块和分段控件

iOS系列 基础篇 09 开关.滑块和分段控件 目录: 案例说明 开关控件Switch 滑块控件Slider 分段控件Segmented Control 1. 案例说明 开关控件(Switch).滑块控件(Slider)和分段控件(Segmented Control)都是UIControl的子类,本篇我们将通过一个案例和大家一起学习这三个控件的使用. 如下图所示,本案例包括两个开关控件Switch.一个分段控件(Segmented Control).两个标签(Label)和一个滑块控件(Slid

UISegmentedControl分段控件

分段控件提供了一栏按钮,但是每次只能激活一个按钮,每一个按钮对应不同的屏幕显示的东西(这里的不同,应该理解为数据的不同,view是相同的,如筛选出不同的信息,但是view是一样的(布局样式是一样的)). RootView.m // 创建segmentcontrol // 创建数组 NSMutableArray *itemsArr = [NSMutableArray array]; [itemsArr addObject:@"first"]; [itemsArr addObject:@&

一步一步学习IOS(UISegmentedControl) 分段控件的属性

//创建分段按钮 UISegmentedControl *segment = [[UISegmentedControl alloc] initWithFrame:CGRectMake(100, 200, 100, 50)]; //设置Item的宽度 UIColor *MyTint = [[UIColor alloc] initWithRed:0.66 green:1.0 blue:0.77 alpha:1.0]; segment.tintColor = MyTint; //添加片段 [segme

UISegmentedControl——分段控件

分段控件,提供了一组按钮,但是只能激活一个.通过UIControlEventValueChanged事件实现与用户的交互,并通过selectedSegmentIndex判断当前选定的控件,通过titleForSegmentAtIndex可以获取当前选中控件的标题. - (void)viewDidLoad { [super viewDidLoad]; //分段控件中各控件的标题 NSArray *array = @[@"未支付",@"已支付",@"已到货&q

UISegmentedControl 分段控件

#import "AppDelegate.h" #import "RootViewController.h" @interface AppDelegate () @end @implementation AppDelegate - (void)dealloc { [_window release]; [super dealloc]; } - (BOOL)application:(UIApplication *)application didFinishLaunchi

iOS_book 02 - 基本交互(约束、视图控制器、基本控件:按钮、文本框、分段控件、开关、标签、图像控件)

实现基本交互 MVC模式 Cocoa Touch 设计者们采用MVC(Model-View-Controller, 模型 - 视图 - 控制器)模式作为指导原则. MVC 模式把代码功能划分为3个不同的类别. 模型: 保存应用程序数据的类. 视图:包括窗口.控件以及其他一些用户可以看到并能与之交互的元素. 控制器:把模型和视图绑定在一起的代码,包括处理用户输入的应用程序逻辑. MVC的目标最大限度地分离这三类代码.MVC可以帮助确保代码的最大可重用性. 控制器组件通常有应用程序的具体类组成.控制

iOS中的分段控件(UISegmentedControl)和滑块控件(UISlider)

#import "RootViewController.h" @interface RootViewController () @end @implementation RootViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. //分段控件 //1.创建控件 /* NSArray *items = @[@"轻拍

分段控件UISegmentedControl

分段控件UISegmentedControl继承与UIControl UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:@[@"全部商家", @"优惠商家", @"我的"]]; segmentedControl.center = CGPointMake(182, 45); // 每个segment的大小默认平分整个segmentedCo

分段控件 (UISegmentedControl)

一. 分段控件 (UISegmentedControl) 控件展示 : 1. UISegmentedControl 控件属性 (1) Style 属性 Style 属性 :       -- Plain : 分段控件使用最普通的风格; -- Bordered : 在最普通风格上添加一圈边框; -- Bar : 分段控件使用工具条风格; (2) State 属性 State 属性 : -- Momentary 复选框 : 勾选复选框后, 分段控件不保存控件状态, 如果勾选后, 点击时高亮, 点击后

【OC-Develop基础】基础控件 -- UISegmentedControl

一.UISegmentedControl简介 UISegmentedControl是iOS中的分段控件.每个segment都能被点击,相当于集成了若干个button.通常我们会点击不同的segment来切换不同的view.