1、UISlider 的创建与设置
复制
UISlider *slider = [[UISlider alloc] init];
slider.frame = CGRectMake(20, 200, 300, 20);
[self.view addSubview:slider];
slider.minimumValue = 0;
slider.maximumValue = 100;
slider.value = 50;
[slider setValue:50 animated:YES];
float value = slider.value;
slider.thumbTintColor = [UIColor orangeColor];
slider.tintColor = [UIColor redColor];
slider.minimumTrackTintColor = [UIColor greenColor];
slider.maximumTrackTintColor = [UIColor redColor];
[slider setThumbImage:[UIImage imageNamed:@"hehe"] forState:UIControlStateNormal];
[slider setThumbImage:[UIImage imageNamed:@"hihi"] forState:UIControlStateHighlighted];
[slider setMinimumTrackImage:[UIImage imageNamed:@"pic1"] forState:UIControlStateNormal];
[slider setMaximumTrackImage:[UIImage imageNamed:@"pic2"] forState:UIControlStateNormal];
slider.minimumValueImage = [UIImage imageNamed:@"volum-"];
slider.maximumValueImage = [UIImage imageNamed:@"volum+"];
slider.transform = CGAffineTransformMakeRotation(0.5 * M_PI);
slider.transform = CGAffineTransformMakeRotation(1.5 * M_PI);
UIImage *thumbImage = slider.currentThumbImage;
UIImage *minimumTrackImage = slider.currentMinimumTrackImage;
UIImage *maximumTrackImage = slider.currentMaximumTrackImage;
[slider addTarget:self action:@selector(sliderProgressChange:) forControlEvents:UIControlEventValueChanged];
[slider addTarget:self action:@selector(sliderTouchDown:) forControlEvents:UIControlEventTouchDown];
[slider addTarget:self action:@selector(sliderTouchUpInSide:) forControlEvents:UIControlEventTouchUpInside];
- (void)sliderProgressChange:(UISlider *)gc_slider {
}
- (void)sliderTouchDown:(UISlider *)gc_slider {
}
- (void)sliderTouchUpInSide:(UISlider *)gc_slider {
}
-
1.2 透明化处理
- 经过处理后的 UISlider 就只能看到中间的 ThumbImage 了,而 ThumbImage 左右的颜色都变成透明的。之后可以再设置上颜色等。
UIGraphicsBeginImageContextWithOptions(CGSizeMake(1, 1), NO, 0.0f);
UIImage *transparentImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
[slider setMinimumTrackImage:transparentImage forState:UIControlStateNormal];
[slider setMaximumTrackImage:transparentImage forState:UIControlStateNormal];
-
1.3 自定义
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)