2013-05-04 75 views
3

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

我试图

int thumbWidth = slider.currentThumbImage.size.width; 

我发现here在这个网站,但它回来了0

其他问题:Xcode的调试器显示在UISlider这个无证变量:CGFloat _hitOffset。有人偶然知道它是什么,它是为了什么?

+0

使用大小,你不应该使用'NSInteger',更好的使用CGFloat,所以你可以保存准确的值! – 2015-06-12 09:10:21

回答

3

最好的方法是使用可调整大小的图像。 但滑块尺寸为23x23,如果你不希望使图像可调整大小

3

如果你想改变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拇指图像,但它应该是正常的图像尺寸下。

8

这是怎么回事?适用于我:

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

但我想知道为什么docs明确禁止调用这些? – 2015-06-13 17:23:39