iphone - 自定义 UITableViewCell 问题

标签 iphone objective-c ios

我有一个带有表单输入屏幕的 iPhone 应用程序。为此,我制作了一个自定义的 UITableViewCell,它有一个 UILabel 和一个 UITextfield。我对其进行了设置,以便“cellForRowAtIndexPath”从 Core Data 获取适当的值,UITextField 的“textFieldDidEndEditing”方法将适当的值保存到 Core Data。效果很好……除了:

如果我编辑一个文本字段,然后将其滚动到屏幕外,然后单击另一个单元格的文本字段:

  1. 单元格已自动释放,因为它滚出了屏幕
  2. “textFieldDidEndEditing”出现 BAD ACCESS 错误

我完全理解这个问题,只是不确定解决它的最佳方法。我的第一个想法是将逻辑从“textFieldDidEndEditing”添加到“dealloc”,但这似乎很老套。有什么建议么?

最佳答案

我最终使用了 ScrollView 的委托(delegate)方法(内置于 UITableView 中)。当用户开始拖动时,我辞去第一响应者。

这非常有效,因为它看起来不错,并且当用户开始滚动时调用“textFieldDidEndEditing”,这总是在文本字段离开屏幕之前。

关于iphone - 自定义 UITableViewCell 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8058412/

相关文章:

c++ - 如何在 IOS 应用程序 (OpenGL) 中放置 href 链接

ios - 修改 getter 以避免 NSNull

ios - 在 `UITextView` 中组合文本和图像

iphone - 如何在UILabel文本中显示版权图标?

iphone - 核心数据 (iPhone) 的 "Automatic Lightweight Migration"实现

iphone - iOS:将 6x6 400x300px 图像添加到一张合成图像

objective-c - 获取最近启动的应用程序的 PID 的最简单方法

iphone - 动画 View 后 UITextView 错误的内容偏移量

iOS VoiceOver 按钮不调用目标方法

ios - 不受 UIScrollView 影响的 View