1

C4Stepper で自分の画像を使用しようとしています。こんな感じで設定しています

@implementation C4WorkSpace{
    C4Stepper *theStepper;
    C4Image *stepperBackground;
    C4Image *stepperPlus;
}

-(void)setup {
    //load backgroundimage
    stepperBackground=[C4Image imageNamed:@"icon_zoom.png"];
    stepperBackground.width=100;

    //load incrementImage
    stepperPlus=[C4Image imageNamed:@"icon_zoom_plus.png"];
    stepperPlus.width=stepperBackground.width/2;

    //setup stepper
    theStepper=[C4Stepper stepper];
    [theStepper setBackgroundImage:stepperBackground forState:NORMAL];
    [theStepper setIncrementImage:stepperPlus forState:NORMAL];

    theStepper.center=self.canvas.center;
    [self.canvas addSubview:theStepper];  
}

2 つのアイコンは次のようになります。icon_zoom_Plus.pngicon_zoom.png 奇妙なことに、キャンバスに表示されるのは次のようなものです。スクリーンショット zoomStepperImages に特別な要件はありますか? ある程度のサイズか何か?

4

1 に答える 1

2

特別な要件があります。

  • 使用される背景画像は「伸縮可能」であるため、必要に応じて伸縮できるボタン画像を設計する必要があります。いずれかのボタン イメージ (Media.xcassets フォルダーを含む) を見ると、それらが一般的なものであることがわかります。たとえば、選択したボタンの背景画像は次のようになります。

ここに画像の説明を入力

  • 同様に、インクリメント/デクリメント イメージ自体は背景イメージから独立しています。同じフォルダに含まれる incrementNormal 画像は次のようになります。

ここに画像の説明を入力

  • C4Stepperクラスのデフォルト値が でどのように初期化されるかを確認できますC4AppDelegate.m

...

[C4Stepper defaultStyle].style = basicStyle;
[C4Stepper defaultStyle].tintColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"lightGrayPattern"]];
[[C4Stepper defaultStyle] setDecrementImage:[C4Image imageNamed:@"decrementDisabled"] forState:DISABLED];
[[C4Stepper defaultStyle] setDecrementImage:[C4Image imageNamed:@"decrementNormal"] forState:NORMAL];
[[C4Stepper defaultStyle] setIncrementImage:[C4Image imageNamed:@"incrementDisabled"] forState:DISABLED];
[[C4Stepper defaultStyle] setIncrementImage:[C4Image imageNamed:@"incrementNormal"] forState:NORMAL];
  • だから、あなたがしたいのは、背景の画像を作成することです(私のものは伸縮可能です。中央のものは、伸びたように見えずに水平に伸ばすことができる直線であるためです。また、インクリメント/デクリメント側の独立した + - 画像を作成したいボタンの。

メモとして、C4Buttonクラスを作成していたとき、作成中のさまざまな画像をいじって、「見た目」を正しくする必要がありました...最終的に、多くの微調整と実験を行う必要がありましたそれらがどのようにレンダリングされたかを学びます。これを理解するのに苦労したのは、レンダリング メカニズムUIButton自体が少し奇妙で、適切にレンダリングされるようにボタンに物をはめ込む方法を学ばなければならなかったことです。

于 2013-10-29T17:47:22.300 に答える