2011-07-28 11 views
4

私はつぶやくのフレームに使用する画像を持っています。 2つの丸い矩形で構成され、左上にツイッターアイコンが表示されます。重要な点は、中間セクションの任意の部分を垂直方向にコピーすることができるので、繰り返すことができます。ここで私が作成した画像は、次のとおりです。iPhone:繰り返し可能なUIImageを拡張するには?

Tweet Frame

私の質問は、私は拡張(または縮小)を行うか、コードの私UITextViewに何行ある上にその依存していますか?サイズを取得するには、このような何か:

float requiredHeight = lines * 14; 

私はAppleが自分のSMSアプリでそれを行うので、これは可能であるが、知っている:)


UPDATE:ここでこれを行うための完全なコードがあります:

UIImage *loadImage = [UIImage imageNamed:@"TwitPost.png"]; 
float w2 = loadImage.size.width/2; 
float h2 = loadImage.size.height/2; 
// I have now reduced the image size so the height must be offset a little (otherwise it stretches the bird!): 
loadImage = [loadImage stretchableImageWithLeftCapWidth:w2 topCapHeight:h2+15]; 
imageView.image = loadImage; 

両方の回答ありがとうございます。あなたのイメージの半分の幅と高さとしてleftCapWidthとtopCapHeightを設定

- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight 

を使用することにより

答えて

6

。この画像はUIImageViewの枠やフレームを変更することで拡大できます。

+0

この伸縮性のある画像でUIImageViewをロードすると、そのUIImageViewのフレームを変更するだけで、それが変更され、拡大縮小しようとしません。 –

+0

はい。あなたはイメージモードを "塗りつぶし"に設定する必要がありますが、実際には枠線が変形したり伸びたりすることはありません。 –

+0

ありがとうございます - これを試してみてください:) –

4

UIImageのドキュメントをご覧ください。具体的には:

- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight 

これは、水平方向または垂直方向に延伸するleftCapWidth又はtopCapHeightた部分を繰り返し画像を使用することを可能にします。

関連する問題