我必须以编程方式创建一个按钮,并在该按钮上设置图像背景。有一个条件,我想隐藏该按钮并显示UITableViewCellAccessoryDetailDisclosureButton
,但我不知道如何。
按钮仍然可见,UITableViewCellAccessoryDetailDisclosureButton
落在上面。
这是我的代码:
if (filemodels.fileType == @"project" && filemodels.fileExpanse == @"none") {
cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
NSLog(@"open expanse");
//[displayBut isHidden];
//displayBut.hidden = YES;
//[displayBut setImage:nil forState:UIControlStateNormal];
displayBut.alpha = 0.0;
}
有人可以帮忙吗?
更新
关于Vladimir的回答。我按照他的建议更改了它,但按钮仍未隐藏。
代码是这样的:
if ([filemodels.fileType isEqualToString:@"project"] && [filemodels.fileExpanse isEqualToString:@"none"]) {
cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
[cell.contentView addSubview:nil];
[displayBut setHidden:YES];
[displayBut setBackgroundImage:nil forState:UIControlStateNormal];
}
答案 0 :(得分:2)
您的代码的第一个问题是if-condition - 您不是比较字符串值,而是指针值,因此得不到正确的结果。在您的情况下比较字符串的正确方法是使用-isEqualToString:
方法:
if ([filemodels.fileType isEqualToString:@"project"] && [filemodels.fileExpanse isEqualToString:@"none"]){
...
然后,如果您之前将单元格的accessoryView设置为displayBtn,那么您可能需要将其设置为nil以使单元格使用accessoryType而不是您的自定义视图 - 只是隐藏它可能是不够的。
答案 1 :(得分:1)
[合并更新/问题作为对OP的回答]