如何仅处理UIButton的图像内容,而不是按钮本身

时间:2015-04-20 20:28:05

标签: ios xamarin uibutton uiimage dispose

说我有一个UIButton,我给它一个背景图像,如下:

UIButton button = new (....);
button.SetBackroundImage = UIImage.FromFile(....);

如何在不保留图像变量的情况下处理按钮图像?我尝试了以下代码,但它似乎没有效果。

button.CurrentBackgroundImage.Dispose() 

我的情况是,我有一个包含10个可见项目的集合视图,但可能有数百个内容。显然,它只使用10个uibutton重复使用10个细胞。绘制并设置为UIButtons背景图像的图像是动态绘制的,一旦您滚动并重新加载可重复使用的集合视图单元格,就需要将其处理掉

2 个答案:

答案 0 :(得分:0)

只需将图片设置为零即可。 iOS将在必要时处理图像。

[button setImage:nil forState:UIControlStateNormal];

对于Xamarin特定的Dispose用法检查here

答案 1 :(得分:0)

在C#中使用IDisposable模式:

using (var image = UIImage.FromFile ("yourImageFile.png")){
    button.SetBackroundImage = image;
}