UIButton具有可调整大小的图像

时间:2012-07-11 00:58:13

标签: ios uiimage

好的,

我知道我做错了什么,但我无法弄明白。这是代码 将可调整大小的图像放入正常的按钮状态。

self.loginButton = [UIButton buttonWithType:UIButtonTypeCustom];
    self.loginButton.frame = CGRectMake(0.0, 44.0, 314, 44);
    UIImage *image = [[UIImage imageNamed:@"loginbutton_image"] resizableImageWithCapInsets:UIEdgeInsetsMake(0.0,10.0,0.0,10.0)];
    [self.loginButton setImage:image forState:UIControlStateNormal];
    [self addSubview:self.loginButton];

这是图片

enter image description here

图片素材错误或代码。

图像宽度为21像素。 10&的上限左边的10留下1Px来调整大小。

是否有人发现我做错了什么。

谢谢所有人的光临 阿伦

2 个答案:

答案 0 :(得分:10)

你应该这样做:

self.loginButton = [UIButton buttonWithType:UIButtonTypeCustom];
    self.loginButton.frame = CGRectMake(0.0, 44.0, 314, 44);
    UIImage *image = [[UIImage imageNamed:@"loginbutton_image"] resizableImageWithCapInsets:UIEdgeInsetsMake(0.0,10.0,0.0,10.0)];
    [self.loginButton setBackgroundImage:image forState:UIControlStateNormal];
[self.view addSubview:self.loginButton];

这样您就可以设置按钮的背景图像属性。背景图像已经附加到按钮视图,因此无需添加子视图。

答案 1 :(得分:0)

尝试

self.loginButton = [UIButton buttonWithType:UIButtonTypeCustom];
    self.loginButton.frame = CGRectMake(0.0, 44.0, 314, 44);
    UIImage *image = [[UIImage imageNamed:@"loginbutton_image"] stretchableImageWithLeftCapWidth:10 topCapHeight:10]; //assuming the height is 44
    [self.loginButton setImage:image forState:UIControlStateNormal];
    [self addSubview:self.loginButton];