gpt4 book ai didi

ios - view.removeFromSuperview() 很多水龙头的 fatal error

转载 作者:行者123 更新时间:2023-11-28 08:42:28 25 4
gpt4 key购买 nike

我创建了自己的滑出式导航菜单,但是当我在链接菜单上点击很多时,会导致错误:

fatal error: unexpectedly found nil while unwrapping an Optional value

在滑动面板动画上:

func animateLeftPanel(shouldExpand shouldExpand: Bool) {
if (shouldExpand) {
currentState = .LeftPanelExpanded

animateCenterPanelXPosition(targetPosition: CGRectGetWidth(centerNavigationController.view.frame) - centerPanelExpandedOffset)
} else {
animateCenterPanelXPosition(targetPosition: 0) { finished in
self.currentState = .BothCollapsed

self.leftViewController!.view.removeFromSuperview()
self.leftViewController = nil;
}
}
}

self.leftViewController!.view.removeFromSuperview() 行,我不明白为什么会出现此错误以及如何解决。

最佳答案

尝试:

func animateLeftPanel(shouldExpand shouldExpand: Bool) {
if (shouldExpand) {
currentState = .LeftPanelExpanded

animateCenterPanelXPosition(targetPosition: CGRectGetWidth(centerNavigationController.view.frame) - centerPanelExpandedOffset)
} else {
animateCenterPanelXPosition(targetPosition: 0) { finished in
self.currentState = .BothCollapsed

if let view = self.leftViewController!.view {
view.removeFromSuperview()
self.leftViewController = nil
}
}
}
}

还要检查您的动画 block ,请记住您也可以在动画之前执行此操作以防止在动画期间点击:

self.leftViewController.view.userInteractionEnabled = false

在动画完成 block 中:

self.leftViewController.view.userInteractionEnabled = true

如果你使用一个不在 leftViewController.view 中的按钮来扩展,同样的事情:你可以在动画之前禁用它并在动画完成 block 中重新启用它

关于ios - view.removeFromSuperview() 很多水龙头的 fatal error ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36135369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com