Open MoLice opened 9 months ago
重现操作
UINavigationController
QMUISearchController
[self.navigationController popToRootViewControllerAnimated:YES]
同样地,如果把上述的3换成 UIApplication.sharedApplication.delegate.window.rootViewController = UIViewController.new 也依然会导致4的现象。
UIApplication.sharedApplication.delegate.window.rootViewController = UIViewController.new
但如果 VC 不处于 UINavigationController 里则没这个问题。
解决方式
应该是系统的 bug,但暂时没去深究,目前的解决方式是 hook - [UIViewController didMoveToParentViewController:] 发现离开界面时正在搜索状态则手动降下搜索。
- [UIViewController didMoveToParentViewController:]
重现操作
UINavigationController
里的 VC 里使用QMUISearchController
。[self.navigationController popToRootViewControllerAnimated:YES]
强制切走界面。QMUISearchController
均未被析构。同样地,如果把上述的3换成
UIApplication.sharedApplication.delegate.window.rootViewController = UIViewController.new
也依然会导致4的现象。但如果 VC 不处于
UINavigationController
里则没这个问题。解决方式
应该是系统的 bug,但暂时没去深究,目前的解决方式是 hook
- [UIViewController didMoveToParentViewController:]
发现离开界面时正在搜索状态则手动降下搜索。