我正在玩一些UITableView编码,并试图隐藏默认的textLabel属性。我使用了UIScrollViewDelegate协议,并使用-scrollViewDidScroll和scrollViewDidEndDecelerating方法来隐藏和显示标签。如何从所有UITableView行中隐藏默认UITableViewCell的textLabel属性?
该代码工作正常与表的第一行,而不是所有这些都是我想要的。这里是我的代码:
*编辑显示解决方案代码。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
cell = [self.tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];
cell.textLabel.hidden = NO;
cell.textLabel.text = @"TEST";
return cell;
}
-(void)scrollViewDidScroll:(UIScrollView *)scrollView {
for (cell in [self.tableView visibleCells]) {
cell.textLabel.hidden = YES;
}
}
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
for (cell in [self.tableView visibleCells]) {
cell.textLabel.hidden = NO;
}
}
所以任何人都可以帮我隐藏和显示所有的行?
是的,我确实在全球范围内声明了小区。我解决了这个问题,并在本地声明并修改了scrollView方法,但仍然无效。所有textLabel始终可见。 – 2014-10-04 06:33:47
嘿,我设法让它只是修改窗体两个scrollView方法[tableView visibleCells]到[self.tableView visibleCells]并添加cell.textLabel.hidden = NO;到cellForRowAtIndexPath和所有工作正常!谢谢!!! – 2014-10-04 06:39:15
Opps,这是我的错误,不把'self.'放在那里;我在答案中修复了代码。很高兴你找到它并修复它:) – 2014-10-04 06:40:58