如果轻轻触摸,力度触摸animation会冻结

我在聊天视图中的应用程序中实现了Force Touch。 当用户强行触摸另一个用户的聊天消息泡泡时,他/她的简档被呈现。 出于某种奇怪的原因,当轻轻按下消息气泡时,交互式转换就会卡住,所有可见的消息都是应该逐步淘汰的视图的屏幕截图。 我已经使用View Hierarchydebugging器debugging了这个问题,而UITransitionView绝对是最顶级的视图。 该应用程序不会崩溃 – 它仍然在运行,用户仍然可以收到消息,但不会查看它们,退出屏幕等,因为屏幕截图顶部。

有没有人有过这样的问题? 听起来像一个苹果的错误。

我find了这个错误的原因。

如果您的视图控制器需要支持强制触摸预览,则需要通过调用将此vc与委托注册

- (id <UIViewControllerPreviewing>)registerForPreviewingWithDelegate:(id<UIViewControllerPreviewingDelegate>)delegate sourceView:(UIView *)sourceView NS_AVAILABLE_IOS(9_0);

方法来做到这一点。

我只是突然调用这个函数两次 (一次在超类的viewDidLoad() ,一次在子vc的),当我在我的子vc中删除一次,这个错误修复! 惊人…

这仍然是一个苹果的错误,因为它没有发生这种情况。 不过,希望这个答案可以帮助那些和我有同样问题的开发者。

仅供参考。 我只是浏览你的Github代码,发现没有注册方法的双重要求。 也许有这个错误的其他原因。 你可以尝试在你的UITableViewController的子类中删除注册方法。 顺便说一下,我重现这个问题时,一个VC使用ComponentKit。