2012-04-09 30 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