自定义 UISlider(无需编写自定义代码)
Posted
技术标签:
【中文标题】自定义 UISlider(无需编写自定义代码)【英文标题】:Customising UISlider (without coding a custom one) 【发布时间】:2013-06-21 23:15:12 【问题描述】:我想要一个具有统一绿色(无渐变)的 UISlider。
当我尝试绘制 uislider 的轨迹时,即使我放置了线条,它似乎也有渐变:
slider.backgroundColor = [UIColor clearColor];
(图像中的第二个滑块)
当我尝试将图像设置为绿色时(在图片中是蓝色但忽略它......)我无法将图层的角变圆:
slider.layer.cornerRadius = 10;
编辑:
我最终定制了它UISlider custom images and thumb height?
我是否可以在不自定义 uislider 的情况下实现这一目标?
【问题讨论】:
用圆角更新你的图片。 这可能是最好的解决方案。我要尽快试试。谢谢 【参考方案1】:Ray Wenderlich's site 实际上有一个关于自定义UIKit
组件的免费教程。见User Interface Customization in ios 6。
请注意,虽然本教程的标题为 in iOS 6
,但 appearance
代理从 iOS 5.0 开始可用,因此本教程的大部分内容实际上与 iOS 5.0+ 相关。
编辑
不幸的是,您提到的渐变实际上是默认情况下覆盖在色调颜色之上的图像,并且似乎没有简单的方法(例如property
)禁用它。
不过,正如 cmets 中的 rmaddy 建议,您可以简单地创建并使用带有圆角的图像来解决这个问题。
【讨论】:
【参考方案2】:您也可以通过界面构建来完成。选择您想要使用的任何颜色或图像。
【讨论】:
我之前尝试过这个解决方案(第二个滑块)。这里的问题是颜色不均匀,上面有渐变,我不能去掉。 然后你可以简单地把你的图像放在最小图像和最大图像中 我也采用了这种方法(第一个滑块)。我的问题是我无法将圆角应用于轨道。 ***.com/questions/10311996/…【参考方案3】:斯威夫特 4 在slider.layer.cornerRadius = 10之后添加这一行
slider.clipsToBounds = true
【讨论】:
以上是关于自定义 UISlider(无需编写自定义代码)的主要内容,如果未能解决你的问题,请参考以下文章