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

问题描述 投票:5回答:5

iOS滑块的(默认)拇指图像的确切大小(宽度,高度)是多少?是否有一些聪明的方法来哄骗这个系统(XCode,iOS)?

我试过了

int thumbWidth = slider.currentThumbImage.size.width;

我在这个网站上找到了here,但它回来时为0。

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

ios objective-c xcode cocoa-touch uislider
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];

Apple HIG文档没有为UISlider拇指图像定义任何大小,但它应该在正常图像大小下。


3
投票

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


0
投票

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

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

你可以在这里找到答案。这是关于UISlider定制工具


0
投票

这是swift 4版本:

yourSlider.setThumbImage(UIImage(named: "Knob"), for: .normal)
© www.soinside.com 2019 - 2024. All rights reserved.