2012-12-02 59 views
1

使用iOS 6,您現在可以使用setIncrementImage:和setDecrementImage:方法選擇自己的增量和減量圖像。 (在RayWenderlich上查看一個超級快速示例)。UIStepper大小的遞減和增量圖像

但是我不知道這些圖片應該具有什麼尺寸。我試過44x44點(即正常和視網膜爲44x44和88x88像素),但這會使圖像拉長。

UIStepper控件本身有97點寬度和27點高度。然而,每個圖像都不會退出覆蓋整個半區域(我嘗試過所有黑色圖像)。

有沒有人知道增量和減量圖像應該是什麼確切的尺寸?或者如何在iOS模擬器中測量點/像素距離?

謝謝。

UPDATE

針對ACB的評論:

使用下列獲取默認圖像尺寸..

NSLog([NSString stringWithFormat:@"Decrement image size: width: %f, height: %f", [self.myStepper decrementImageForState:UIControlStateNormal].size.width, [self.myStepper decrementImageForState:UIControlStateNormal].size.height]); 
NSLog([NSString stringWithFormat:@"Increment image size: width: %f, height: %f", [self.myStepper incrementImageForState:UIControlStateNormal].size.width, [self.myStepper incrementImageForState:UIControlStateNormal].size.height]); 

顯示,默認減量符號是13x4點,而默認的增量符號是13x14點。

使用13x4點圖像作爲自定義遞減符號的快速檢查按預期工作(即新符號以與原始大小相同的方式顯示)。這導致我得出結論:使用的自定義圖像保持其原始大小,除非有必要縮小它們 - 在此期間它們會變形。

+1

在項目中,檢查由'返回圖像的大小 - (UIImage的*)decrementImageForState:UIStepper的(UIControlState)state'方法。這應該給予默認的大小。類似'[stepper decrementImageForState:UIControlStateNormal] .size' – iDev

+0

感謝您的想法。我測試了它並將我的發現添加到了問題中。似乎已經解決了它:) –

+0

很高興知道它幫助。添加爲答案,以便您可以接受它。請接受。 – iDev

回答

2

添加我的評論作爲答案,因爲這有助於解決問題。

在您的項目中,檢查- (UIImage *)decrementImageForState:(UIControlState)state方法UIStepper返回的圖像大小。這應該給予默認的大小。類似[stepper decrementImageForState:UIControlStateNormal].size

+1

Muchas gracias :) –

1

您可以更新UIStepper尺寸,並因此設置任何尺寸的增量和減量圖像。

使用下面的方法來設置背景圖像和步進將使用背景大小繪製自身:

- (void)setBackgroundImage:(UIImage*)image forState:(UIControlState)state 

[self.stepper1 setIncrementImage:[UIImage imageNamed:@"plusIcon1.png"] forState:UIControlStateNormal]; 
    [self.stepper1 setDecrementImage:[UIImage imageNamed:@"minusIcon1.png"] forState:UIControlStateNormal]; 

    [self.stepper1 setBackgroundImage:[UIImage imageNamed:@"stepperBkg1.png"] forState:UIControlStateNormal]; 
    [self.stepper1 setBackgroundImage:[UIImage imageNamed:@"stepperBkgHighlighted1.png"] forState:UIControlStateHighlighted]; 
    [self.stepper1 setBackgroundImage:[UIImage imageNamed:@"stepperBkgDisabled1.png"] forState:UIControlStateDisabled]; 

這產生在左側以下結果,與右側未修改的步進器相比: enter image description here

[email protected]

enter image description here

stepperBkgHighlighted1 @ 2倍。PNG:

enter image description here