偏移UISlider最小/最大值图像

时间:2011-08-11 21:08:36

标签: iphone objective-c cocoa-touch uislider

我试图偏移UISlider的最小和最大值图像的x / y位置。 目前,我正在升级UISlider并设置最大值图像:

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

但是,我需要这个图像更接近实际的UISlider,并且几乎无法控制该项目的可视资产。我尝试过使用

- (CGRect)maximumValueImageRectForBounds:(CGRect)bounds

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

1 个答案:

答案 0 :(得分:4)

不,没有其他方法可以重新定位最小或最大值图像。每次滑块布置其子视图时都会调用maximumValueImageRectForBounds:,并且每当您更改maximumValueImage时都会布置子视图,因此只需执行以下操作:

@implementation MyCustomSlider

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

@end