У меня есть табличный вид, который работает достаточно хорошо, но теперь я хотел бы, чтобы первая ячейка была «разблокировкой» кнопки для остальной части ячеек.Создание первой ячейки UITableView, различной для каждой другой ячейки
- (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, когда они сделаны. Это не происходит с каждой ячейкой, просто прерывистые, иногда, если я часто прокручиваю таблицу вверх и вниз, тогда другие ячейки тоже поднимут эту проблему. В любом другом случае таблица работает нормально, выбор ячейки вызывает правильный ответ и т. Д. Кто-нибудь может понять, что может быть причиной этого? Казалось бы, это было бы очень просто реализовать изначально ...
Благодаря
Уверен, что 'dequeOrCreateInTable:' использует тот же идентификатор reuseIdentifier для обеих ячеек. Во всяком случае, если альфа-значение - единственное отличие, вы можете просто поместить '[cell._startButton setAlpha: 1.0];' в 'else' –