0

我有一个表格视图,它有一个自定义单元格类,它有 2 个标签和一个文本框

结果集将显示所有行的标签之一(名称),然后有一个 if else 语句来显示第二个标签或文本框。

示例
标签 1 标签 2
乔博客 学生
跑者 [TextBox]
等...

但是,当行滚动离开屏幕时,新行标签 2 不会被刷新并且有旧数据,但是标签 1 是完美的。

示例
标签 1 标签 2
joe blogs Student
road runner 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个屏幕截图

第二个屏幕截图显示了相同的信息,但正如您所看到的,例如,行(知道一切)应该是现金并且有文本框,但是它有一个标签,上面写着“学生”,在第一个屏幕截图上它是正确的(你会看到一些如果你往下看,第二个屏幕截图上的其他人不正确)

我知道这与单元格在滚动出屏幕时被重用有关,但数据没有被刷新,特别是 if/else 语句中的数据没有正确刷新/重绘。

我希望通过我正在努力实现的截图来清除您的问题/评论。如果不是,请发表评论并尝试用不同的方法来展示我的问题。如果您有任何进一步的问题,请告诉我,我会尽快回答

感谢您的任何帮助。

这是第一次加载时的 tableView 并且没有行滚动出屏幕
这是向下滚动然后备份时的 tableView

4

1 回答 1

0

我们很乐意提供帮助,请使用图像和视频进行更多说明,并删除不需要的信息,如果文本框对您没有问题,您可以忽略它,不要提及它,请具体说明,以便我们可以帮忙..祝你好运。

编辑:是的,您是否忘记显示隐藏的对象?

于 2016-01-24T14:20:43.820 回答