带有静态单元格的 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的主要内容,如果未能解决你的问题,请参考以下文章
带有静态单元格的 UITableViewController 显示为空白
为啥在将单元格插入带有静态单元格的表格视图时需要 tableView(_:indentationLevelForRowAt:)