在我们的iOS应用程序中,我们已经为UISlider创建了子类,以便使用自定义设计。但是,无论我们尝试什么,UISlider中使用的图像都会失真。例如,原始拇指矩形为156x44。我们已将其覆盖为15x22,这会导致图像爆炸。其他排列导致拇指偏离轨道,并且仍然被炸毁。我们如何通过在图像上使用填充或覆盖适当的函数来正确设置拇指和轨迹的图像大小?
答案 0 :(得分:2)
我认为UISlider只设计了一个分辨率和一个分辨率,并且使元素更小,将对用户体验产生负面影响。但如果你真的想要,试试其中一个:
使用较大的图像,但将UISlider实例的transform属性设置为某个CGAffineTransformMakeScale(scaleX,scaleY)。
为图片添加透明填充,因此它们看起来很小,但实际尺寸合适。
也就是说,如果你真的想要你的UISlider更小。如果你所困扰的是引起的失真,但是自动升级,考虑将UIImages加载为可伸缩的,f.i。与
- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets // iOS >=5.0
或
- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight // iOS <5.0