"didSelectRowAtIndexPath" 方法从未在 iOS 10 台设备上调用
"didSelectRowAtIndexPath" method never called on iOS 10 devices
我当前的应用程序已经在商店上架了几个月了。此应用程序包含多个 UIListView
,使用自定义单元格(每个单元格在其自己的 NIB
中)并且触摸一个单元格始终有效。
现在,在没有任何应用程序更新的情况下,从 iOS 10 开始,触摸单元格不会执行任何操作,不会触发任何事件,也不会 didSelectRowAtIndexPath
或 willSelectRowAtIndexPath
被调用。
这只发生在 iOS 10 台设备上,即使更新到 SWIFT 3.
知道哪里出了问题吗?
终于找到了。这似乎是 DFP 库行为 "incompatibility" 问题。我使用的 DFP 视图包含所有单元格元素,因为有时它会显示自定义广告内容。此视图获取用户交互,这对于跟踪广告点击和获取分析而言是显而易见的,但在 iOS 10 中,这会阻止单元格获取任何触摸事件:所有内容均由 DFP 视图处理。所以解决方案只是在我显示非广告内容时强制 userInteractionsEnabled
到 false
。
我当前的应用程序已经在商店上架了几个月了。此应用程序包含多个 UIListView
,使用自定义单元格(每个单元格在其自己的 NIB
中)并且触摸一个单元格始终有效。
现在,在没有任何应用程序更新的情况下,从 iOS 10 开始,触摸单元格不会执行任何操作,不会触发任何事件,也不会 didSelectRowAtIndexPath
或 willSelectRowAtIndexPath
被调用。
这只发生在 iOS 10 台设备上,即使更新到 SWIFT 3.
知道哪里出了问题吗?
终于找到了。这似乎是 DFP 库行为 "incompatibility" 问题。我使用的 DFP 视图包含所有单元格元素,因为有时它会显示自定义广告内容。此视图获取用户交互,这对于跟踪广告点击和获取分析而言是显而易见的,但在 iOS 10 中,这会阻止单元格获取任何触摸事件:所有内容均由 DFP 视图处理。所以解决方案只是在我显示非广告内容时强制 userInteractionsEnabled
到 false
。