- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. UISwitch *swit = [[UISwitch alloc] initWithFrame:CGRectMake(20, 300, 100, 20)]; [self.view addSubview:swit]; // 3. (开关按钮)圆圈的颜色 swit.thumbTintColor = [UIColor yellowColor]; // switch 宽和高不影响控件, 只有x和y // 1. 开启时的控件内部颜色 swit.onTintColor = [UIColor blueColor]; // 2. 边框及切换到关闭的时的颜色(non_resettable) swit.tintColor = nil; // 4. 打开时的图片, ios7后失效 swit.onImage = [UIImage imageNamed:@"456"]; // 5. 关闭时的图片, 也失效 swit.offImage = [UIImage imageNamed:@"456"]; // 6. 判断switchControl的开闭状态 // 通过setter方法, 给变switchControl的初始状态 swit.on = YES; NSLog(@"%@", swit.isOn ? @"yes" : @"no"); [swit setOn:YES animated:NO]; // 添加绑定事件(与button相同) [swit addTarget:self action:@selector(switchAction:) forControlEvents:UIControlEventValueChanged]; // slider // 高度不影响控件的高度, 这个控件永远居中与视图中间 UISlider *slider = [[UISlider alloc]initWithFrame:CGRectMake(0, 100, 100, 20)]; [self.view addSubview:slider]; // slider.minimumValueImage = [UIImage imageNamed:@"456"]; // 1. 滑块最大值和最小值, 最大和最小可以根据需求去改变 slider.maximumValue = 200.0f; // 2. 当前滑块的值 slider.value = 50.0f; [slider setValue:100 animated:YES]; // 3. 最小值和最大值显示的图片 // maximumValueImage minimumValueImage // 4. containous 为no时, 只在按下和松手是触发方法 slider.continuous = NO; NSLog(@"%@", slider.isContinuous ? @"yes" : @"no"); // 5. 绑定事件 [slider addTarget:self action:@selector(sliderAction:) forControlEvents:UIControlEventValueChanged]; CGRect rect = [slider maximumValueImageRectForBounds:slider.bounds]; NSLog(@"%f, %f", rect.size.width, rect.size.height); // 8. maximumTrackTintColor 未移动到的区域的颜色 slider.maximumTrackTintColor = [UIColor blueColor]; // 9. minimumTrackTintColor 已移动的区域的颜色 slider.minimumTrackTintColor = [UIColor whiteColor]; // 10. 滑块的颜色 // slider.thumbTintColor = [UIColor blueColor]; // 11. 设置进度条滑块左边的图片 [slider setMinimumTrackImage:[UIImage imageNamed:@"player_slider_playback_right"] forState:UIControlStateNormal]; // 12. 设置进度条滑块右边的图片 [slider setMaximumTrackImage:[UIImage imageNamed:@"player_slider_playback_left"] forState:UIControlStateNormal]; // 13. 设置圆圈的图片 [slider setThumbImage:[UIImage imageNamed:@"player_slider_playback_thumb"] forState:UIControlStateNormal]; self.seg = [[UISegmentedControl alloc] initWithItems:@[@"first", @"second", @"last", @"one", @"two"]]; // segment不给frame, 系统会自动计算大小, 推荐, 自己加上frame self.seg.frame = CGRectMake(0, 0, 600, 50); [self.view addSubview:self.seg]; // 1. momentary 设置为yes 如果点击选中没有选中的效果, // 默认为NO self.seg.momentary = YES; // 2. seg的控制段的数量 NSInteger number = self.seg.numberOfSegments; NSLog(@"分段控制器的段数:(items的个数) %ld", number); // 3. remove 移除 // 4. insertSegmentWithTitle:@"name" atIndex:2 animated:YES 插入 // 5. setTitle:forSegmentAtIndex: 用来修改对应下标的标题 // 6. setWidth:0 forSegmentAtIndex: 默认是0 [self.seg setWidth:0 forSegmentAtIndex:0]; // 7. setContentOffset:<#(CGSize)#> forSegmentAtIndex:<#(NSUInteger)#> 设置对应下标内容的偏移 [self.seg setContentOffset:CGSizeMake(20, 0) forSegmentAtIndex:0]; // 8. 能否被选中 [self.seg setEnabled:NO forSegmentAtIndex:0]; // 9. selectedSegmentIndex 开始选中的下标 self.seg.selectedSegmentIndex = 1; // 10. tintColor文字及边框颜色 self.seg.tintColor = [UIColor greenColor]; // 11. apportionsSegmentWidthsByContent 默认为no // 如果分段控制器的段宽为0时, 并且该属性为YES, 系统会自动计算 self.seg.apportionsSegmentWidthsByContent = YES; // 12. 绑定事件 [self.seg addTarget:self action:@selector(segAction:) forControlEvents:UIControlEventValueChanged]; UIPageControl *page = [[UIPageControl alloc] initWithFrame:CGRectMake(10, 500, 100, 30)]; page.backgroundColor = [UIColor blackColor]; // 1. 分页控制器的页数 默认为 0 page.numberOfPages = 5; // 2. 当前页 page.currentPage = 3; // 3. 当只有一页的时候pageControl隐藏 page.hidesForSinglePage = YES; // 4. CGSize size = [page sizeForNumberOfPages:4]; NSLog(@"size++%@", NSStringFromCGSize(size)); // 其他页的颜色 page.pageIndicatorTintColor = [UIColor redColor]; // 当前页的颜色 page.currentPageIndicatorTintColor = [UIColor whiteColor]; [self.view addSubview:page]; // 绑定事件 [page addTarget:self action:@selector(pageControllChange:) forControlEvents:UIControlEventValueChanged]; // 设置为yes, 关闭系统事件page的切换, 直到调用updateCurrentPageDisplay的方法, 才会显示 page.defersCurrentPageDisplay = YES; } - (void)pageControllChange:(UIPageControl *)page { NSLog(@"Change"); [page updateCurrentPageDisplay]; } - (void)segAction:(UISegmentedControl *)seg { NSLog(@"%ld", seg.selectedSegmentIndex); switch (seg.selectedSegmentIndex) { case 1: break; case 2: break; // .... default: break; } } // - (void)sliderAction:(UISlider *)slider { NSLog(@"%f", slider.value); } - (void)switchAction:(UISwitch *)swit { NSLog(@"开关事件"); [self.seg insertSegmentWithTitle:@"name" atIndex:2 animated:YES]; [self.seg insertSegmentWithImage:[UIImage imageNamed:@"player_slider_playback_thumb"] atIndex:2 animated:YES]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. }
时间: 2024-11-04 16:27:35