7

iOS 滑块的(默认)拇指图像的确切尺寸(宽度、高度)是多少?是否有一些聪明的方法可以将其从系统中引入(XCode、iOS)?

我试过了

int thumbWidth = slider.currentThumbImage.size.width;

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

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

4

5 回答 5

10

那这个呢?为我工作:

CGRect trackRect = [self trackRectForBounds:self.bounds];
CGRect thumbRect = [self thumbRectForBounds:self.bounds trackRect:trackRect value:0];
CGSize thumbSize = thumbRect.size;
于 2014-05-19T17:40:00.033 回答
4

如果要更改 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 拇指图像定义任何大小,但它应该低于正常图像大小。

于 2013-05-04T11:28:00.050 回答
3

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

于 2013-05-04T11:03:26.727 回答
0

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

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

你可能会在这里找到你的答案。它也关于 UISlider 定制

于 2013-05-04T10:57:54.513 回答
0

这是 swift 4 版本:

yourSlider.setThumbImage(UIImage(named: "Knob"), for: .normal)
于 2019-03-21T07:38:12.137 回答