dismissViewControllerAnimated冻结App

时间:2015-05-10 09:23:35

标签: uitableview swift tableview didselectrowatindexpath

我有一个tableView从另一个控制器以模态方式显示,在此表中用户选择一行,然后单击该行,tableView关闭,用户在UITableView的self.dismissViewControllerAnimated(true, completion: nil)中返回到前一个控制器{ {1}}。

奇怪的是,用户点击后,didSelectRowAtIndexPath锁定应用程序几秒钟或直到用户再次点击屏幕,然后应用程序继续运行...

Here's the source code.

我该如何解决这个问题?

对于主持人的说明:它不是UIViewController dismissViewControllerAnimated: completion: causes app to freeze的重复,有外部框架引起的麻烦!

1 个答案:

答案 0 :(得分:1)

你的回答是,你犯了一个常见的错误。您不要拨打didSelectRowAtIndexPath,而是didDeselectRowAtIndexPath

这意味着,您对应用的“锁定”只是didDeselect...的预期行为:

  

仅当用户尝试选择其他行时存在现有选择时,才会调用此方法。代理将为先前选定的行发送此方法。您可以使用UITableViewCellSelectionStyleNone在触摸时禁用单元格高亮显示。