我在UITableview
的cutstom单元格中显示一个按钮。如何在不需要时隐藏该按钮。例如:我显示按钮上的已接收图像数。如果count为零,我需要从单元格中隐藏该按钮。
contactviewController.m
if (![[arr objectAtIndex:4] isEqualToString:@"0"]) {
[cell1 setImg:[arr objectAtIndex:4]];
}
Customcell.m
-(void)setImg:(NSString *)_text
{
imgView.titleLabel.textColor = [UIColor whiteColor];
[imgView setTitle:_text forState:UIControlStateNormal];
}
答案 0 :(得分:0)
您可以使用cellForRowAtIndex
方法执行此操作。对于每一行创建,都会调用此方法。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if(condition)
{
//show button
}
else
{
// don't show button
}
}
答案 1 :(得分:0)
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if(noImagesFound)
{
yourCustomCellObject.buttonObject.hidden = YES;
}
else
{
yourCustomCellObject.buttonObject.hidden = NO;
}
}
答案 2 :(得分:0)
您可以通过xib将单元格中的按钮添加为IBOutlets,也可以通过设置框架并将按钮添加到单元格来以编程方式添加按钮。上述解决方案取决于您添加按钮的方式。如果您通过xib作为插座添加它,您可以执行以下操作之一。
任何名为tag的视图都有一个属性。您可以在属性检查器中为按钮设置标记值,并在-cellForRowAtIndexPath:
调用中设置
UIButton *button =(UIButton*) [cell viewWithTag:9];
// your tag value (say 9)
并使用[button setHidden:YES]
隐藏/ /NO to unhide
此处您不需要自定义类
如果您需要更多地控制您创建的单元格,最好选择第二个选项。如果您已将其设为属性,则可以使用单元格的对象访问它。
答案 3 :(得分:-2)
创建UITableViewCell.h和.m文件。
在文件中创建一些变量,如UILabel和UIImageView对象,并将其设置为IBOutlet并将其与单元格.xib文件绑定。
在UITableView实现中,在“cellForRowAtIndexPath”中,您可以使用该自定义UITableViewCell类对象,并使用UILable和UIImageView的合成变量,并使用它来相应地显示或隐藏。