我正在创建一个自定义UISlider测试一些界面创意。主要是基于使拇指图像更大。
我找到了如何做到这一点like so:
UIImage *thumb = [UIImage imageNamed:@"newThumbImage_64px.png"];
[self.slider setThumbImage:thumb forState:UIControlStateNormal];
[self.slider setThumbImage:thumb forState:UIControlStateHighlighted];
[thumb release];
要计算相关值,我需要知道在哪里中心点拇指图像在被操纵时会掉落。该点应该位于它的超级视图的坐标中。
看着UISlider文档,我没有看到任何跟踪此内容的属性。
是否有一些简单的方法来计算这个值,或者可以从一些现有值中得出它?
这将返回 UISlider 拇指图像中心在视图坐标中的正确 X 位置:
- (float)xPositionFromSliderValue:(UISlider *)aSlider {
float sliderRange = aSlider.frame.size.width - aSlider.currentThumbImage.size.width;
float sliderOrigin = aSlider.frame.origin.x + (aSlider.currentThumbImage.size.width / 2.0);
float sliderValueToPixels = (((aSlider.value - aSlider.minimumValue)/(aSlider.maximumValue - aSlider.minimumValue)) * sliderRange) + sliderOrigin;
return sliderValueToPixels;
}
将其放入视图控制器中并像这样使用它:(假设名为 slider 的属性)
float x = [self xPositionFromSliderValue:self.slider];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)