Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/106.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS滑块的默认拇指图像大小?_Ios_Objective C_Xcode_Cocoa Touch_Uislider - Fatal编程技术网

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

iOS滑块的默认拇指图像大小?,ios,objective-c,xcode,cocoa-touch,uislider,Ios,Objective C,Xcode,Cocoa Touch,Uislider,iOS滑块的(默认)拇指图像的确切大小(宽度、高度)是多少?也许有什么聪明的方法可以把它从系统中哄出来(XCode,iOS) 我试过了 int thumbWidth = slider.currentThumbImage.size.width; 我在这个网站上找到的,但它返回0 附加问题:Xcode调试器在UISlider:CGFloat\u hitcoffset中显示此未记录的变量。是否有人碰巧知道它是什么以及它的用途?WWDC 2012系列中有一段关于用户界面定制的视频: 你可以在这里找到

iOS滑块的(默认)拇指图像的确切大小(宽度、高度)是多少?也许有什么聪明的方法可以把它从系统中哄出来(XCode,iOS)

我试过了

int thumbWidth = slider.currentThumbImage.size.width;
我在这个网站上找到的,但它返回0


附加问题:Xcode调试器在
UISlider
CGFloat\u hitcoffset
中显示此未记录的变量。是否有人碰巧知道它是什么以及它的用途?

WWDC 2012系列中有一段关于用户界面定制的视频:


你可以在这里找到答案。关于UISlider的定制也是如此

最好的方法是使用可调整大小的图像。
但是,如果不想使图像大小可调整,滑块拇指大小为23x23。如果要更改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 thumb图像定义任何大小,但它应该在正常图像大小下。

这怎么办?为我工作:

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

以下是swift 4版本:

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

使用大小时,不应使用
NSInteger
,最好使用CGFloat,以便保存准确的值!