iOS滑块默认缩略图的尺寸是多少?

7

默认情况下,iOS滑块的缩略图图像的确切尺寸(宽度、高度)是多少?也许有一些巧妙的方法可以从系统(XCode、iOS)中获取这些信息吗?

我尝试过了。

int thumbWidth = slider.currentThumbImage.size.width;

我在这个网站上找到一个关于如何获取UISlider拇指图片中心的答案here,但它返回了0。

另外一个问题:Xcode调试器显示UISlider中有这个未记录的变量:CGFloat _hitOffset。有没有人知道它是什么以及它的作用?


在处理大小时,你不应该使用 NSInteger,最好使用 CGFloat,这样你就可以保存精确的值! - Alex Cio
5个回答

10

这个怎么样?对我来说有效:

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

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];

苹果的HIG文档并没有为UISlider滑块图像定义任何尺寸,但它应该在正常图像尺寸之内。


3
最好的方法是使用一个可缩放的图片。 但如果您不想使图片可缩放,滑块拇指的大小将为23x23。

0

这是 Swift 4 版本:

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

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接