ios - Swift 自定义单元格如果要在标签文本框之间更改

标签 ios swift reuseidentifier

我有一个表格 View ,其中有一个自定义单元格类,该类有 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 张屏幕截图

第二个屏幕截图显示了相同的信息,但正如您所看到的,例如该行(了解全部)应该是现金并具有文本框,但是它有一个标签,上面写着“学生”,在第一个屏幕截图上它是正确的(您如果您继续往下看,会在第二张屏幕截图上看到其他一些不正确的内容)

我知道这与单元格滚动离开屏幕时被重用有关,但数据没有刷新,特别是 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

最佳答案

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

编辑:是的,你是不是忘记揭示一个隐藏的物体?

关于ios - Swift 自定义单元格如果要在标签文本框之间更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34976822/

相关文章:

ios - 在仅在最后一个 UIImageview 上可见的 PageViewController 上添加 UIButton

iphone - 自定义可点击对象(按钮)IOS - Objective C (Xcode5)

ios - 用户位置及方向

ios - 引用具有重用标识符的单元格

swift - UITableView reloadData() 覆盖以前的单元格数据

ios - URLSession 在 iOS 13 上不遵循 302s

ios - 使用 Google Drive SDK iOS 创建文件夹内部文件夹

swift - 如何在swift中自动滚动消息

ios - subview 的框架在呈现 View Controller 后更新

ios - Xcode 初学者;重用标识符?