1

好,朋友们,

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

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];

这是图像

在此处输入图像描述

图像资产错误或代码错误。

图像的宽度为 21 像素。左右上的 10 和 10 的帽子插图留下 1Px 来调整大小。

有没有人发现我做错了什么。

感谢大家光临阿伦

4

2 回答 2

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];

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

于 2012-07-11T01:13:48.200 回答
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];
于 2012-07-11T01:23:27.990 回答