Iphone 循环浏览tableview单元格,查看单元格上的UIImageView是否隐藏
我有一个uitableview和一个带有imageView的自定义单元格。imageView已填充图像,但其Iphone 循环浏览tableview单元格,查看单元格上的UIImageView是否隐藏,iphone,ios,xcode,cocoa-touch,uitableview,Iphone,Ios,Xcode,Cocoa Touch,Uitableview,我有一个uitableview和一个带有imageView的自定义单元格。imageView已填充图像,但其.hidden属性设置为YES。这意味着当tableView存在时,所有单元格图像都隐藏起来。在应用程序中,您可以打开/关闭图像。这只是一个小信息。我的问题是我需要在tableViewCells中循环,看看是否有隐藏的图像 在cellforrowatinexpath:中,我尝试在单元格中循环 BOOL cellImageViewsAreHidden = YES; for (UIT
.hidden
属性设置为YES
。这意味着当tableView存在时,所有单元格图像都隐藏起来。在应用程序中,您可以打开/关闭图像。这只是一个小信息。我的问题是我需要在tableViewCells中循环,看看是否有隐藏的图像
在cellforrowatinexpath:
中,我尝试在单元格中循环
BOOL cellImageViewsAreHidden = YES;
for (UITableViewCell *myCell in tableView.visibleCells) {
if (self.cell.alert.hidden == NO) {
cellImageViewsAreHidden = NO;
break;
}
else{
cellImageViewsAreHidden = YES;
}
}
if (cellImageViewsAreHidden == NO) {
NSLog(@"They are visible");
}
else{
NSLog(@"they are hidden");
}
但不幸的是,这只是NSLogs
“它们是隐藏的”
。它不会NSLog
正确的文本,即使有可见的图像。非常感谢您的帮助或建议 为什么不为表格单元格创建一个自定义对象并保持其状态呢。
这意味着创建一个包含表格单元格详细信息的自定义对象,创建一个布尔值来保存状态,无论图像是否已绘制
假设用户在应用程序上有关闭的图像。然后将属性设置为false。
如果不是真的。
您不必使用tableview属性。u将拥有更多的控制权。通过替换,实际上检查循环中的单元格,而不仅仅是类的属性单元格
if (self.cell.alert.hidden == NO) {
与
无论如何,正确的方法是在数据模型中存储imageView的状态。无论如何,您都需要它,因为您应该重用单元格您在哪里编写了此代码?谢谢您的回复。如何将图像视图的状态存储到数据模型中?我知道如何在core data/nsuserdefaults中做到这一点,但我认为它不会正常工作。再次感谢!最简单的方法是一个NSMutableSet,其中存储显示imageView的单元格的所有IndExpath。如果使用[imageView setHidden:NO],则将该单元格的indexPath添加到集合中;如果使用[imageView setHidden:YES],则从集合中删除该indexPath。然后,您将始终拥有在集合中显示imageView的单元格的indexPath。哦,听起来不错,它应该可以工作。这似乎比我现在做的好!哈哈,谢谢你,马提亚!:)还有一个问题。。。如果使用NSMutableSet与使用NSMutableArray有什么区别?感谢you@aNS(可变)集没有顺序。它只有不同的对象。它确保为isEqual:返回YES的对象在集合中仅存在一次。例如,如果在集合中为第一部分(0,0)的第一行添加三个indexPath,则集合中实际上只有一个indexPath(0,0)。如果您经常使用
containsObject:
和removeObject:
,那么整个过程会更加高效。
if (myCell.alert.hidden == NO) {