0

在我们的 iOS 应用程序中,我们将 UISlider 子类化以使用自定义设计。然而,无论我们如何尝试,UISlider 中使用的图像都会失真。例如,原始拇指矩形是 156x44。我们已将其覆盖为 15x22,这会导致图像放大。其他排列导致拇指偏离轨道,并且仍然被炸毁。我们如何通过在图像上使用填充或覆盖适当的函数来正确设置拇指和轨道的图像大小?

4

1 回答 1

2

我认为 UISlider 只设计了一种分辨率,并且使元素更小,会对用户体验产生负面影响。但是,如果您真的想尝试,请尝试以下方法之一:

  1. 使用更大的图像,但将 UISlider 实例的变换属性设置为一些 CGAffineTransformMakeScale(scaleX, scaleY)。

  2. 为您的图像添加透明填充,使它们看起来很小,但实际上大小合适。

也就是说,如果你真的希望你的 UISlider 更小​​。如果您只关心造成的失真,但自动放大,请考虑将 UIImages 加载为可拉伸的,fi 与

 - (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets // iOS >=5.0

或者

 - (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight // iOS <5.0
于 2012-04-10T04:10:51.477 回答