我在CellImage中显示一个图像,当单击任何单元格时它工作正常但问题是当选择一个新单元格时,前一个单元格图像也是可见的我希望当用户选择新单元格时,应该隐藏前一个单元格图像。
这是代码
-(IBAction)imageButtonAction:(id)sender{
CustomCell *cell = (CustomCell *) [[sender superview] superview];
UIButton *btn = (UIButton *)sender;
UIView *backimage = [[UIView alloc] initWithFrame:CGRectMake(300,0,312,105)];
backimage.backgroundColor=[UIColor colorWithPatternImage:[UIImage imageNamed:@"popupj.png"]];
[backimage setUserInteractionEnabled:YES];
[cell addSubview:backimage];
}
我在单元格中使用自定义单元格
的按钮上调用此方法
答案 0 :(得分:0)
表视图xib上有一个名为selection的值,检查它的值是否在xib中设置为单选。或者以编程方式将此属性设置为NO:
@property(nonatomic) BOOL allowsMultipleSelection
答案 1 :(得分:0)
在您的按钮操作中,您可以设置维护应在.h文件中声明的 previousIndexPath 。通过使用此previousIndexPath,您可以轻松隐藏先前加载的图像:
CustomCell *cell=(CustomCell *)[yourTable cellForRowAtIndexPath:previousIndexPath];
cell.yourImage.hidden=TRUE;
答案 2 :(得分:0)
在tableView中更改先前所选单元格的隐藏值属性:didSelectRowAtIndexPath: 使用以下方法访问单元格:
UITableViewCell *cell = (UITableViewCell *)[tableView cellForRowAtIndexPath:previousIndex];
cell.yourImage.hidden = YES;
答案 3 :(得分:0)
你可以试试这个,它可能对你有帮助。
-(IBAction)imageButtonAction:(id)sender{
CustomCell *cell = (CustomCell *) [[sender superview] superview];
UIButton *btn = (UIButton *)sender;
for (UIView *subView in cell.contentView.subviews) {
if([subView isKindOfClass:[UIView class]]){
subView.hidden=YES;
}
}
UIView *backimage = [[UIView alloc] initWithFrame:CGRectMake(300,0,312,105)];
backimage.backgroundColor=[UIColor colorWithPatternImage:[UIImage imageNamed:@"popupj.png"]];
[backimage setUserInteractionEnabled:YES];
[cell addSubview:backimage];
}
或者你甚至可以使用块来循环子视图并隐藏它们
干杯