以编程方式添加图像后更改UIButton单击区域

时间:2014-11-20 18:47:43

标签: ios objective-c uibutton sdwebimage

我正在使用UIButton作为链接,如果更改将没有图像,所以我将它设置为0高度,但它是一个宽松的优先级,所以当我添加图像时它会扩展。问题是可点击区域没有随着图像的添加而扩展。

目前我正在尝试添加这样的图像。

    [self.advertisementButton sd_setBackgroundImageWithURL:[NSURL URLWithString:url] 
                                                  forState:UIControlStateNormal];
    [self.advertisementButton setFrame:self.advertisementButton.imageView.bounds];
    [self.advertisementButton layoutIfNeeded];

1 个答案:

答案 0 :(得分:0)

首先下载图像,然后使用图像尺寸设置按钮框。 在这里,您可以使用按钮的imageView属性来设置button frame

// Download like
NSData * imageData = [[NSData alloc] initWithContentsOfURL: [NSURL URLWithString: @"imageurl"]];
    UIImage *image = [UIImage imageWithData: imageData];

// Set frame like
    [advertisementButton setFrame:CGRectMake(advertisementButton.frame.origin.x, advertisementButton.frame.origin.y, image.size.width , image.size.height)];