Objective-C
iOS

引き伸ばしたUIImageをUIButtonにセットする

ボタンに使用する画像を横に引き伸ばして使う方法。

    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];

button.frame = CGRectMake(0, 0, 144, 36);
[button setTitle:@"hogehoge" forState:UIControlStateNormal];

UIImage *image = [[UIImage imageNamed:@"button_image_hoge.png"] stretchableImageWithLeftCapWidth:5 topCapHeight:0];
[button setBackgroundImage:image forState:UIControlStateNormal];

[self.view addSubview:button];

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

leftCapWidthtopCapHeightは、Imageのどの位置から繰り返しで引き伸ばすか指定する。

理屈ではわかってるつもりだけど、実際に動かしてみると想像と違う動きをしてたりして、細かい挙動がいまいちわかっていない。。。

参考

http://blog.syuhari.jp/archives/1407