0

.pngファイルの幅が1px、高さが50pxで、これをUISegmentedButtonで水平方向に並べて表示したいので、次のようにしました。

[segmentedCtrl setTintColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"btn-gradient-brown.png"]]];

しかし、私が得たのは黒い色だけです。これはなぜですか、これを正しく行う方法は?これが私のポイントを明確にするのに役立つなら、私が持っている1pxです

ここに画像の説明を入力してください

4

1 に答える 1

0

あなたはタイルを張るためにコアグラフィックスメソッドで試すことができます、この質問からこのコードを見てください、

CGSize imageViewSize = imageView.bounds.size;
UIGraphicsBeginImageContext(imageViewSize);
CGContextRef imageContext = UIGraphicsGetCurrentContext();
CGContextDrawTiledImage(imageContext, (CGRect){ CGPointZero, imageViewSize }, tileImage);
UIImage *finishedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

タイトル付きの画像を作成します。UIcontrolの背景として画像を設定できます。

編集: tintColorセグメント制御のデフォルトのグラデーションを作成するためのベースです。したがって、茶色のグラデーション画像を色合いの色として設定すると、黒いグラデーションが得られます。グラデーションの色を設定するには、

  • サブクラスuisegmentcontrolクラスとオーバーライドdrawRectメソッド。
  • backgroundImage適切な画像インセットを使用して設定します。
于 2012-05-24T05:00:05.383 に答える