偏移 UISlider 最小值/最大值图像

Posted

技术标签:

【中文标题】偏移 UISlider 最小值/最大值图像【英文标题】:Offset UISlider Min/Max value images 【发布时间】:2011-08-11 21:08:35 【问题描述】:

我正在尝试偏移 UISlider 的最小值和最大值图像的 x/y 位置。 目前,我正在 sublcasing UISlider 并设置最大值图像,如下所示:

[self setMaximumValueImage:[UIImage imageNamed:@"circle_with_plus"]];

但是,我需要这张图片更接近实际的 UISlider,并且对这个项目的视觉资产几乎没有控制权。我试过使用

- (CGRect)maximumValueImageRectForBounds:(CGRect)bounds

但是,我的最小/最大值图像可能会动态更改大小,因此我不确定在这种情况下如何正确实现它。是否有不同的方式来移动资产? 谢谢

【问题讨论】:

【参考方案1】:

不,没有其他方法可以重新定位最小值或最大值图像。 maximumValueImageRectForBounds: 会在每次滑块布置其子视图时被调用,并且每当您更改 maximumValueImage 时都会对子视图进行布置,所以这样做就足够了:

@implementation MyCustomSlider

- (CGRect)maximumValueImageRectForBounds:(CGRect)bounds 
  CGRect r = [super maximumValueImageRectForBounds:bounds];
  r.origin.x -= 3;
  return r;


@end

【讨论】:

以上是关于偏移 UISlider 最小值/最大值图像的主要内容,如果未能解决你的问题,请参考以下文章

当滑块按钮超过最大值的 60% 时,UISlider 最大轨道图像使用最小轨道图像

如何反转 UISlider 的最小值-最大值?

UISlider - 将 UILabel 添加到最小/最大 UIImageView?

如何识别 UISlider 的运动是从最大值到最小值,反之亦然?

在运行时更改 UISlider 的最小值和最大值

拇指图像不会移动到 UISlider 的边缘