在IOS开发中UISwitch用的比较多,通常用在用户喜好设置上,分段开关通常是切换不同的View,下面都来看看。
1. UISegmentedControl
1.1 介绍
- 每个segment都能被点击,相当于集成了多个button
- 通常我们会点击不同的segment来切换不同的view
1.2 使用
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
UISegmentedControl* seg = [[UISegmentedControl alloc]initWithItems:@[@"一",@"二",@"三",@"四",@"五"]];
seg.frame = CGRectMake(10, 50, 200, 30);
//短暂性的点击
seg.momentary = YES;
//按钮大小与内容自适应
seg.apportionsSegmentWidthsByContent = YES;
//指定位置插入一个按钮
[seg insertSegmentWithTitle:@"插入的按钮" atIndex:1 animated:YES];
// insertSegmentWithImage:(nullable UIImage *) atIndex:(NSUInteger) animated:(BOOL)
//移除某一个按钮
[seg removeSegmentAtIndex:1 animated:YES];
//移除所有按钮
[seg removeAllSegments];
//重新按钮设置标题
[seg setTitle:@"设置的标题" forSegmentAtIndex:1];
//设置按钮的宽度
[seg setWidth:10 forSegmentAtIndex:1];
//设置按钮内容的偏移量
[seg setContentOffset:CGSizeMake(10, 10) forSegmentAtIndex:1];
//默认选中的按钮
seg.selectedSegmentIndex = 1;
//设置风格颜色
[seg setTintColor:[UIColor redColor]];
[self.view addSubview:seg];
2. UISwitch
2.1 介绍
这个控件通常是在个人设置等用户喜好设置时出现。由于在iOS系统内置了UISwithch控件的size,所以通过代码调整UISwithch的大小是无效的。
默认大小 51.0f 31.0f
2.2 使用
UISwitch使用比较简单,由于在需求中,定制化严重,因此UISwitch使用的场景比较固定,
/**
UISwitch
*/
UISwitch *uiswitch = [[UISwitch alloc]initWithFrame:CGRectMake(100, 100, 30, 30)];
[uiswitch addTarget:self action:@selector(click:) forControlEvents:UIControlEventValueChanged];
//设置打开时的颜色
uiswitch.onTintColor = [UIColor orangeColor];
//设置关闭时的颜色
uiswitch.tintColor = [UIColor whiteColor];
//设置按钮的颜色
uiswitch.thumbTintColor = [UIColor blueColor];
[self.view addSubview:uiswitch];
}
-(void)changeBG:(UISlider*)slider
{
NSLog(@"%f",slider.value);
}
-(void)click:(UISwitch*)us
{
NSLog(@"打开");
}