终止应用程序由于未捕获的异常,原因是:“错误:UIScrollView中不支持多个观察者执行

问题描述 投票:1回答:2

'NSInternalInconsistencyException',理由是: '错误:UIScrollView中不支持多个观察者执行_scrollViewWillEndDraggingWithVelocity:targetContentOffset:'

我检查了所有相关的问题,但没有得到确切问题出在哪里。

我有一个自定义标签栏和默认第一选择,当我们选择了第二个选项卡,然后回到第一。我得到了应用程序崩溃。

enter image description here

提前致谢

ios swift xcode uiscrollview
2个回答
0
投票

你手动添加志愿到您的代码?

如果是这样,你需要添加

[[NSNotificationCenter defaultCenter] removeObserver:self]

在您的视图控制器- (void)viewWillDisappear:(BOOL)animated方法。

此外,它好像你正在观察已经由滚动视图观察内部选择,不同意由UIKit的内部使用的选择

看到removing observers


0
投票

我只是简单地推的时间更换代码,我的问题解决了。

 self.navigationController?.navigationBar.isHidden = true
    let controller = self.storyboard?.instantiateViewController(withIdentifier: MainStoryBoard.ViewControllerIdentifiers.tabbarViewController) as! TabBarViewController
    controller.selectedIndex = 0
    self.navigationController?.pushViewController(controller, animated: true)

而不是下面的代码

 let sb = UIStoryboard(name: "Main", bundle: nil)
    let controller = sb.instantiateViewController(withIdentifier: MainStoryBoard.ViewControllerIdentifiers.tabbarViewController) as! TabBarViewController
    // Feature Tab
    controller.selectedIndex = 0
    let appdelegate = UIApplication.shared.delegate as! AppDelegate
    appdelegate.window?.rootViewController = controller
    appdelegate.window?.makeKeyAndVisible()
© www.soinside.com 2019 - 2024. All rights reserved.