快速自定义单元格(如果有其他)在标签文本框之间更改



我有一个表格视图,其中包含一个具有 2 个标签和一个文本框的自定义单元格类

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


标签 1 标签 2
乔博客学生
路跑者 [文本框]
等。。。

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


标签 1 标签 2
乔博客学生
路跑者学生
等。。。

下面是代码片段

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 张屏幕截图

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

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

我希望这可以通过我想要实现的屏幕截图清除您的问题/评论。 如果没有,请评论和生病尝试使用不同的方法来显示我的问题。如果您有任何其他问题,请尽快回答

感谢您的任何和所有帮助。

这是首次加载时的表视图,没有行滚动到屏幕
外这是向下滚动然后向上备份时的表视图

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

编辑:是的,你忘了透露隐藏的对象吗?

最新更新