У меня есть вид таблицы, которая имеет пользовательский класс клеток, который имеет 2 метки & текстовое полеSwift пользовательские ячейки, если еще для переключения между этикеткой текстового поля
набор результатов будет отображать одну из меток для всех строк (имя), то есть выражение if else, чтобы показать либо вторую метку, либо текстовое поле.
пример
метка 1 метка 2
Джо блоги Студент
дорога бегун [TextBox]
и т.д ...
однако, когда строка получает прокручивается от экрана новых строки метки-не получают обновился & имеет старую данные, однако метка 1 идеальна.
пример
метка 1 метка 2
Джо блоги Student
дорога бегун Студенческие
и т.д ...
ниже фрагмент кода
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
//let size = CGSizeMake(30, 30)
let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! SBGestureTableViewCell
if strPaymentMethod[indexPath.row] == "Student" && dctMemAttEventDetails["StuDiscVenue"]! as! String == "Yes"
{
cell.txtMemberPaid.hidden = true
cell.lblPaymentMethod!.text = strPaymentMethod[indexPath.row]
}
else
{
cell.lblPaymentMethod.hidden = true
cell.txtMemberPaid.hidden = false
}
cell.lblMemberName!.text = strFirstname[indexPath.row] + " " + strSurname[indexPath.row] + " : " + strPaymentMethod[indexPath.row]
return cell
}
в запрашиваемых 2 скриншотах
второй снимок экрана показывает ту же информацию, но, как вы можете видеть для примера le the row (Know itall) должны быть наличными & имеют текстовое поле, однако у него есть ярлык, который говорит «студент», где на первом снимке экрана он прав (вы увидите, что некоторые другие неверны на втором снимке экрана, если смотреть дальше)
Я знаю, что это связано с повторным использованием ячеек, когда они прокручиваются с экрана, но данные не получают обновленный & его специфические данные в инструкции if/else, которая не обновляется/перерисовывается должным образом.
Надеюсь, это очистит ваши вопросы/комментарии скриншотами того, что я пытаюсь достичь. если нет, прокомментируйте комментарий & плохо попробуйте другой подход к показу моей проблемы. , если у вас есть вопросы, свяжитесь со мной как можно скорее.
спасибо за любые & вся помощь.
This is of the tableView when first loaded & no rows scrolled off screen
This is of the tableView when scrolled down then back up
Разве вы не должны устанавливать 'cell.lblPaymentMethod.hidden = false' в свой оператор' if'? – vacawama