我在Xcode 9,Swift 4中使用SideMenuController pod。尝试让侧面板动画正常工作。无法解决为什么抛出这个错误。如果您能提供帮助,请提前致谢!
UIView.panelAnimation( duration, animations: {
self.centerPanel.frame = centerPanelFrame
self.set(statusUnderlayAlpha: hidden ? 0 : 1)
}) { _ in // THROWS ERROR - CANNOT CONVERT VALUE OF TYPE (_) -> ()? TO EXPECTED ARGUMENT TYPE (() -> ())?
if hidden {
self.setSideShadow(hidden: hidden)
}
completion?(updated)
}
答案 0 :(得分:1)
这是该功能的定义:
class func panelAnimation(_ duration : TimeInterval, animations : @escaping (()->()), completion : (()->())? = nil)
正如您所看到的,在完成关闭开始时您不需要_ in
个关键字。
重写如下:
UIView.panelAnimation( duration, animations: {
self.centerPanel.frame = centerPanelFrame
self.set(statusUnderlayAlpha: hidden ? 0 : 1)
}) {
if hidden {
self.setSideShadow(hidden: hidden)
}
completion?(updated)
}