带有静态单元格的 iOS cellForRowAtIndexPath

Posted

技术标签:

【中文标题】带有静态单元格的 iOS cellForRowAtIndexPath【英文标题】:iOS cellForRowAtIndexPath with static cells 【发布时间】:2012-11-17 12:31:05 【问题描述】:

我有一个奇怪的错误。我有一个带有静态单元格的分组 UITableView,我想在每个部分下添加一个白色阴影。我想这样做的方法是为部分中的每个最低单元格添加阴影。

所以在viewDidAppear 中(因为在viewDidLoad 中它不起作用)我写道:

UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
// change the cells shadow

问题在于,在 viewDidLoad 中,我在文本字段上调用了 becomeFirstResponder。调用 cellForRowAtIndexPath 时,文本字段失去焦点。

在调用 cellForRowAtIndexPath 之后,我尝试在 viewDidAppear 中使用 becomeFirstResponder,但这没有帮助,文本字段仍然失去焦点。

我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

我推荐你使用tableView:willDisplayCell:forRowAtIndexPath:方法来添加阴影。

【讨论】:

【参考方案2】:

使用以下代码。

[textfield performSelector:@selector(becomeFirstResponder) withObject:nil afterDelay:0];

【讨论】:

此执行延迟为 0,将消息延迟到下一个 runloop 迭代 它是......但我在处理 UI 时经常使用它。我不会接受与业务逻辑相关的任何事情

以上是关于带有静态单元格的 iOS cellForRowAtIndexPath的主要内容,如果未能解决你的问题,请参考以下文章

静态表格视图中单元格的内容未显示 SWIFT 3

静态表格视图单元格的内容未显示 iOS 9

带有静态单元格的 UITableViewController 显示为空白

SwiftUI - 带有静态单元格的 QGrid

为啥在将单元格插入带有静态单元格的表格视图时需要 tableView(_:indentationLevelForRowAt:)

MonoTouch 如何为带有静态单元格的 UITableViewController 实现 RowSelected