iOS滑块的(默认)拇指图像的确切大小(宽度,高度)是多少?是否有一些聪明的方法可以将其从系统中哄出来(XCode,iOS)?
我试过
int thumbWidth = slider.currentThumbImage.size.width;
我在这个网站上找到here,但它返回0。
其他问题:Xcode调试器在UISlider
:CGFloat _hitOffset
中显示此未记录的变量。有没有人偶然知道它是什么以及它的用途是什么?
答案 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)