在tableview的每个单元格中,UIbutton imageview都不相同

时间:2017-01-17 17:38:59

标签: ios objective-c uitableview

谁能帮助我,我对我的桌面视图非常绝望。 基本上我有这个tableview与按钮作为复选框

这就是我提供数据按钮的方式

BOOL isChecked = [model.isChecked boolValue];
    self.checkBoxButton.selected = isChecked;
    self.checkBoxButton.contentHorizontalAlignment = UIControlContentVerticalAlignmentFill;
    self.checkBoxButton.contentVerticalAlignment = UIControlContentVerticalAlignmentFill;
    self.checkBoxButton.imageView.contentMode = UIViewContentModeScaleAspectFit;

这是我的tableview看起来像

我希望我的uibutton图像与大图像相同。

当我的视图加载图像的大小很好..然而当我开始触摸按钮时图像开始崩溃,它甚至将较大的那些随机变大。

1 个答案:

答案 0 :(得分:0)

每次更新

在我看来,按钮未设置为UIButtonTypeCustom并且系统以某种方式在触摸开始事件上调整它。尝试将按钮类型更改为自定义。

cellForRowAtIndexPath委托方法 之后,您将可重复使用的单元格出列,请尝试将复选框重置为nil或其默认图像,或尝试将其BOOL值强制为false。重置图像后,尝试调用所选的方法(不设置属性):

BOOL isChecked = [model.isChecked boolValue];
[self.checkBoxButton setSelected:isChecked];

我对这里发生的事情的模糊猜测是,不知何故,在细胞出列之前,模型的值被检索,因此它保留了上次使用细胞时的某些值。如果在出列后将其清除,然后从模型中设置值,则应正确设置它。