我有一个表格 View ,一切正常,但现在我想让第一个单元格成为其余单元格的“解锁”按钮。
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [currentPack count] + 1;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"Row is %i", indexPath.row);
if(indexPath.row == 0)
{
SoundCell *cell = [SoundCell dequeOrCreateInTable:soundsTable];
cell._NameLabel.text = @"Unlock This Pack;
[cell._startButton setAlpha:0.0];
return cell
}
else
{
SoundCell *cell = [SoundCell dequeOrCreateInTable:soundsTable];
cell._NameLabel.text = [currentPack objectAtIndex:indexPath.row - 1];
return cell
}
}
现在它有点工作了,第一个单元格与其他单元格不同,并且看起来完全正确。我的问题是,出于某种原因,一些后来的细胞使用了
[cell._startButton setAlpha:0.0];
部分即使 indexPath.row 在创建时不为 0。它不会发生在每个单元格上,只是间歇性的,偶尔如果我上下滚动表格很多那么其他单元格也会遇到这个问题。在表格的所有其他方面都可以正常工作,选择一个单元格会触发正确的响应等。 有谁知道是什么原因造成的?本来实现起来好像很简单...
谢谢
最佳答案
对两种细胞类型使用不同的重用标识符,这样它们在重用时就不会混合。
或将以下行添加到其余行:
[cell._startButton setAlpha:1.0];
关于objective-c - 使 UITableView 的第一个单元格与其他每个单元格不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10193131/