2

UIButton以下で構成された背景画像を使用して を作成するにはどうすればよいですか:

  1. 固定キャップ
  2. 固定キャップ
  3. 利用可能なすべてのスペースを埋めるために次々に配置された多数の中間画像

下の例のように?

UIButton

編集:中央にN個の繰り返し画像がなく、引き伸ばされた画像しかないことに気づきませんでした。受け入れられた回答を参照してください。

4

1 に答える 1

5

私の知る限り、それはできません。できることは画像を引き伸ばすことですが、n 個の中間画像を追加することはできません。

間に伸縮可能な画像を追加するためのコードは次のとおりです。

//Create an image - Where UIEdgeInsets is in top left bottom right
UIImage* buttonImage = [[UIImage imageNamed:@"button.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 16, 0, 16)];

// Create a custom buttom
UIButton *myButton = [UIButton buttonWithType:UIButtonTypeCustom];
myButton.frame = CGRectMake(0, 0, 100, buttonImage.size.height);
[myButton setBackgroundImage:buttonImage forState:UIControlStateNormal];
[myButton setTitle:@"Button" forState:UIControlStateNormal];

//Add it to view - if it is a view controller self.view
[self addView:myButton];

Apple のUIImage Class Referenceから:

" resizableImageWithCapInsets:

このメソッドを使用して、キャップ インセットを画像に追加したり、画像の既存のキャップ インセットを変更したりします。[...] 画像のスケーリングまたはサイズ変更中に、キャップで覆われた領域はスケーリングまたはサイズ変更されません。代わりに、各方向のキャップでカバーされていないピクセル領域は、画像のサイズを変更するために、左から右、上から下にタイル化されます." [強調追加]

詳細については、http://mobiledevelopertips.com/user-interface/ios-5-uiimage-and-resizableimagewithcapinsets.htmlを参照してください。

于 2012-08-06T08:24:33.923 に答える