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

时间:2013-05-04 00:06:34

标签: ios objective-c xcode cocoa-touch uislider

iOS滑块的(默认)拇指图像的确切大小(宽度,高度)是多少?是否有一些聪明的方法可以将其从系统中哄出来(XCode,iOS)?

我试过

int thumbWidth = slider.currentThumbImage.size.width;

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

其他问题:Xcode调试器在UISliderCGFloat _hitOffset中显示此未记录的变量。有没有人偶然知道它是什么以及它的用途是什么?

5 个答案:

答案 0 :(得分:10)

这个怎么样?适合我:

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

答案 1 :(得分: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拇指图像定义任何尺寸,但它应该在正常图像尺寸下。

答案 2 :(得分:3)

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

答案 3 :(得分:0)

WWDC 2012集合中有一个关于UI自定义的会话视频:

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

您可以在这里找到答案。它也关于UISlider定制

答案 4 :(得分:0)

这是Swift 4版本:

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