ios - 如何在 reloadData() 之后为 UITableViewCell 中的 UILabel 设置动画?

标签 ios swift uitableview

我正在创建一个表单,每当用户忘记填写表单字段时,我有一种机制可以为用户未在其中选择值的任何单元格突出显示所需的文本标签。在颜色之后变化被反射(reflect)出来并且 tableView 被重新加载,我也想为突出显示的标签设置动画。实现这一目标的正确方法是什么? tableView 可以加载自定义 tableViewCells 的混合物,所以我想知道这可以在所有自定义单元格中完成。

请注意:如果在单击“提交”按钮时缺少标签,则标签会以红色突出显示。当缺少的字段被填写时,一旦标签具有分配给该字段的值,标签将不再突出显示。所以现在我需要一种方法来仅在用户尝试单击缺少字段的提交按钮时为属于不同自定义单元格类的单元格上的各个标签设置动画

最佳答案

协议(protocol)

您可以创建自定义单元格将实现的协议(protocol),因此在每个自定义单元格中,您可以自己实现一个函数,您将在 TableView 的委托(delegate)方法中调用该函数:

     tableView(_ tableView: UITableView, 
                willDisplay cell: UITableViewCell, 
                   forRowAt indexPath: IndexPath) {

      guard let customCellThatImplementsFormCell = cell as? FormCell else { return }

/// check if has errors and call either function 

}

取决于你的手机有没有错误

这是一个非常简单的想法,但它可能看起来像这样

protocol FormCell {
 func showError()
 func hideError()
}


class FormTextInputCell: UITableViewCell {

}

extension FormTextInputCell: FormCell {

  func showError() {
    // Style the cell and animate what you want
 }

 func hideError() {
    // Style the cell and animate what you want
 }

}

关于ios - 如何在 reloadData() 之后为 UITableViewCell 中的 UILabel 设置动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59761489/

相关文章:

swift - 对 .map 转换闭包的困惑

iphone - 在 View 导航时在 UITableView 中显示数据

ios - 在 iOS 中创建具有模糊背景的 AVComposition

ios - 如何在 iOS 应用程序中使用 'Service account' 实现 Vision API?

ios - 如何快速管理嵌套 View Controller View 大小?

多任务处理中的 iOS 9 应用程序提交问题需要所有方向

ios - UIView 不显示在给定的框架中

ios - 显示带有操作的搜索栏(栏项)

ios - UITableViewCell 内部的 UITableView

ios - 使用 RxSwift 注册两个自定义单元格