UITableview单元格图像中的uiimageview中的UIButton没有改变
Posted
技术标签:
【中文标题】UITableview单元格图像中的uiimageview中的UIButton没有改变【英文标题】:UIButton in uiimageview in UITableview cell image not changing 【发布时间】:2012-11-05 14:45:59 【问题描述】:我有一个自定义的 uitableviewcell,当用户单击按钮时,我有一个带有按钮的图像视图,按钮应该显示一个勾号!
当用户点击按钮时,它应该显示一个勾号 我有一个尝试过的东西。请帮助我
checkBoxButton.selected=!checkBoxButton.selected;
if(checkBoxButton.selected==1)
[checkBoxButton setBackgroundImage:[UIImage imageNamed:@"checked.png"] forState:UIControlStateSelected];
else
[checkBoxButton setBackgroundImage:[UIImage imageNamed:@"unchecked.png"] forState:UIControlStateNormal];
【问题讨论】:
【参考方案1】:您可以添加代表状态的属性。
@property (nonatomic, assign) BOOL checked;
- (void)setChecked:(BOOL)checked
_checked = checked;
if (_checked)
[self.checkboxButton setImage:[UIImage imageNamed:@"btn-checkbox-checked"] forState:UIControlStateNormal];
else
[self.checkboxButton setImage:[UIImage imageNamed:@"btn-checkbox-unchecked"] forState:UIControlStateNormal];
您可以将目标操作添加到您的checkBoxButton
。在action方法中,设置checked
属性的值。
【讨论】:
【参考方案2】:在您的按钮点击中尝试以下代码。这只有在你有单身时才有效 复选框..
if ([self.checkBoxButton.currentTitle isEqualToString:@"uncheck"])
NSLog(@"changing to checked");
[self.checkBoxButton setTitle:@"check" forState:UIControlStateNormal];
[self.checkBoxButton setImage:[UIImage imageNamed:@"checkedbox.png"] forState:UIControlStateNormal];
else if([self.checkBoxButton.currentTitle isEqualToString:@"check"])
NSLog(@"changing to UNchecked.....");
[self.checkBoxButton setTitle:@"uncheck" forState:UIControlStateNormal];
[self.checkBoxButton setImage:[UIImage imageNamed:@"uncheckedbox.png"] forState:UIControlStateNormal];
希望对你有帮助...
【讨论】:
我在 mytableview 中有多个复选框。请查看链接中的图片。这不起作用..以上是关于UITableview单元格图像中的uiimageview中的UIButton没有改变的主要内容,如果未能解决你的问题,请参考以下文章
如何在 UITableView 中使用 UIView 实现动态单元格高度和图像高度?
UITableView 在单元格选择上更改图像并重置其他图像
UIImage 没有出现在 UITableView (Swift) 的原型单元格中
选择单元格时,TableVIew 中的 UIImage 会移动
如何将 UIImage 设置为 UITableView Cell,它根据我在 UILabel 中输入的文本动态计算单元格高度?