2012-11-17 88 views
1

我有一个奇怪的错误。我有一个分组的UITableView与静态单元格,我想在每个部分下添加一个白色阴影。我想过这样做的方式是在一个部分的每个最低单元格中添加阴影。 所以在viewDidAppear(因为在viewDidLoad它不会工作)我写道:iOS cellForRowAtIndexPath静态单元格

UITableViewCell * cell = [tableView cellForRowAtIndexPath:indexPath]; //更改单元格影子

问题是,在viewDidLoad中,我调用了文本字段上的becomeFirstResponder。当调用cellForRowAtIndexPath时,文本字段失去焦点。 我试图在调用cellForRowAtIndexPath后在viewDidAppear中使用becomeFirstResponder,但这没有帮助,文本字段仍然失去焦点。 我该如何解决这个问题?

回答

2

使用下面的代码。

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

这个执行带有0延迟,延迟消息到下一个runloop迭代 –

+0

Works,谢谢!即使这看起来像一个讨厌的黑客:-) – Yaniv

+0

这是......但我经常用于处理用户界面。我不会接受任何有关商业逻辑的东西 –

2

我建议您使用tableView:willDisplayCell:forRowAtIndexPath:方法添加阴影。

相关问题