2

iOS 6 では、setIncrementImage: および setDecrementImage: メソッドを使用して、独自のインクリメント イメージとデクリメント イメージを選択できるようになりました。(非常に簡単な例については、 RayWenderlichで確認してください)。

ただし、これらの画像の寸法はわかりません。44x44 ポイント (通常と網膜の場合は 44x44 と 88x88 ピクセル) を試しましたが、画像が引き伸ばされたままになります。

UIStepper コントロール自体の幅は 97 ポイント、高さは 27 ポイントです。ただし、各画像は半分の領域全体をカバーしません(すべて黒の画像で試しました)。

インクリメント イメージとデクリメント イメージの正確な寸法を知っている人はいますか? または、iOS シミュレーターでポイント/ピクセル距離を測定する方法は?

ありがとうございました。

アップデート

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 ポイント イメージをカスタム デクリメント シンボルとして使用したクイック チェックは、期待どおりに機能します (つまり、新しいシンボルが元のサイズと同じサイズで表示されます)。これにより、使用されるカスタム画像は、縮小する必要がない限り、元のサイズのままであると結論付けることができます-その間、画像は歪んでしまいます.

4

2 に答える 2

3

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];

これにより、右側の変更されていないステッパーと比較して、左側の次の結果が得られます。 ここに画像の説明を入力

stepperBkg1@2x.png:

ここに画像の説明を入力

stepperBkgHighlighted1@2x.png:

ここに画像の説明を入力

于 2015-02-11T05:10:29.497 に答える
3

質問の解決に役立ったので、私のコメントを回答として追加しました。

- (UIImage *)decrementImageForState:(UIControlState)stateプロジェクトで、 のメソッドによって返される画像のサイズを確認しますUIStepper。これにより、デフォルトのサイズが得られるはずです。のようなもの[stepper decrementImageForState:UIControlStateNormal].size

于 2012-12-02T08:20:50.960 に答える