2012-04-09 65 views
0

在我们的iOS应用程序中,为了使用自定义设计,我们已经划分了UISlider子类。但是,无论我们尝试什么,UISlider中使用的图像都会变形。例如,原始拇指矩形是156x44。我们已经把这个重写为15x22,这导致了一张爆炸的图像。其他排列导致拇指偏离轨道,并且仍然爆炸。我们如何通过在图像上使用填充或重写相应的函数来正确设置拇指和轨迹的图像大小?iOS:自定义UISlider中的图像大小

+0

是 '跟踪条' 是什么意思UISlider? – CodaFi 2012-04-09 04:01:51

+0

是的:)已更新我的问题。 – Pedery 2012-04-09 12:43:21

回答

2

我认为UISlider只设计了一种分辨率和一种分辨率,并且使元素变小,会对用户体验产生负面影响。但是,如果你真的想,尝试其中之一:

  1. 使用更大的图像,但设置的转换的UISlider情况下,一些CGAffineTransformMakeScale(将scaleX,的scaleY)的财产。

  2. 将透明填充添加到图像中,使其看起来很小,但实际上尺寸合适。

也就是说,如果你真的想要你的UISlider更小。如果您对所引起的失真感到困扰,但自动升级,请考虑将UIImages加载为可伸缩,f.i.与

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

- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight // iOS <5.0 
+0

关于用户体验的良好警告。许多iOS元素的44像素大小是由设计决定的。 [iOS人机界面指南](http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/MobileHIG/UEBestPractices/UEBestPractices.html#//apple_ref/doc/uid/TP40006556-CH20-SW1 ),在“Make Targets Fingertip-Size”下,说“在您的应用程序中为可用元素设置44 x 44点的目标区域”。您的第二个建议(添加透明填充)仍然可以实现此目的。 – Dondragmer 2012-04-10 04:19:36

+0

谢谢!我们会试试这个。我们的主要问题不是图像本身的大小,而是无论我们添加什么样的填充,它们都会被扭曲。我们已经尝试了一堆不同的透明填充物,但是它们没有加起来。我们如何设置UISlider以使用*我们的*图像大小,因为它们是?或者,我们应该用什么尺寸来填充这些尺寸以使它们看起来很脆? – Pedery 2012-04-10 15:33:35