iOS滑块的默认拇指图像大小?

Posted

技术标签:

【中文标题】iOS滑块的默认拇指图像大小?【英文标题】:Size of default thumb image for iOS slider? 【发布时间】:2013-05-04 00:06:33 【问题描述】:

ios 滑块(默认)缩略图的确切尺寸(宽度、高度)是多少?是否有一些巧妙的方法可以将其从系统中引入(XCode、iOS)?

我试过了

int thumbWidth = slider.currentThumbImage.size.width;

我在这个网站上找到了here,但它返回的是 0。

附加问题:Xcode 调试器在UISlider:CGFloat _hitOffset 中显示了这个未记录的变量。有没有人偶然知道它是什么以及它的用途?

【问题讨论】:

使用尺寸,你不应该使用NSInteger,最好使用CGFloat,这样你就可以保存确切的值! 【参考方案1】:

这个呢?为我工作:

CGRect trackRect = [self trackRectForBounds:self.bounds];
CGRect thumbRect = [self thumbRectForBounds:self.bounds trackRect:trackRect value:0];
CGSize thumbSize = thumbRect.size;

【讨论】:

【参考方案2】:

如果你想改变 UISlider 的外观,请使用下面的方法

[[UISlider appearance] setThumbImage:[UIImage imageNamed:@"yoursliderimage.png"] forState:UIControlStateNormal];

以及下面的代码也会改变你的滑块轨道

UIImage *white = [UIImage imageNamed:@"16x16white.png"];

[movieTimeControl setMinimumTrackImage:[white stretchableImageWithLeftCapWidth:3.0 topCapHeight:0.0] forState:UIControlStateNormal];

[movieTimeControl setMaximumTrackImage:[white stretchableImageWithLeftCapWidth:3.0 topCapHeight:0.0] forState:UIControlStateNormal];

Aplle HIG 文档没有为 UISlider 拇指图像定义任何大小,但它应该低于正常图像大小。

【讨论】:

【参考方案3】:

最好的方法是使用可调整大小的图像。 但如果您不想调整图片大小,滑块拇指大小为 23x23

【讨论】:

【参考方案4】:

WWDC 2012 合集中有一段关于 UI 定制的会议视频:

https://developer.apple.com/videos/wwdc/2012/?id=216

您可能会在这里找到答案。它也是关于 UISlider 自定义的

【讨论】:

【参考方案5】:

这里是 swift 4 版本:

yourSlider.setThumbImage(UIImage(named: "Knob"), for: .normal)

【讨论】:

以上是关于iOS滑块的默认拇指图像大小?的主要内容,如果未能解决你的问题,请参考以下文章

自定义 UI 滑块,拇指图像大小问题

将滑块的拇指模板编辑为图像 Windows Phone 7

更改滑块上拇指图像的位置

在 UWP 中获取滑块的拇指

是否可以向 UISlider 拇指图像添加标签?

如何精确找到输入的拇指位置[type =“range”]?