我想要做的迅速Swift编译器bug可能吗?
UIView.animateWithDuration(UINavigationControllerHideShowBarDuration, animations: {() -> Void in
return
})
最简单的动画,但我越来越呼叫
任何想法缺少论据参数“延迟”?
我想要做的迅速Swift编译器bug可能吗?
UIView.animateWithDuration(UINavigationControllerHideShowBarDuration, animations: {() -> Void in
return
})
最简单的动画,但我越来越呼叫
任何想法缺少论据参数“延迟”?
UINavigationControllerHideShowBarDuration
是Float
,但duration:
参数具有类型NSTimeInterval
(这是一个Double
别名)。因此,你必须 明确转换:
UIView.animateWithDuration(NSTimeInterval(UINavigationControllerHideShowBarDuration), animations: {() -> Void in
return
})
谢谢你先生很好 – sger 2014-10-27 18:31:05
UIView类方法animateWithdDuration:animations:被定义为:
class func animateWithDuration(_ duration: NSTimeInterval, animations animations:() -> Void)
注意第一个参数的类型为NSTimeInterval,而UINavigationControllerHideShowBarDuration类型为CGFloat的恒定:
let UINavigationControllerHideShowBarDuration: CGFloat
检查documentation for NSTimeInterval表明夫特它是对于双
typealias NSTimeInterval = Double
一个TypeAlias所以我们必须让我们的CGFloat的转换为双拨打电话的工作。 我们可以很容易地从一个CGFloat的由Double(UINavigationControllerHideShowBarDuration)
一个双重这可能是更好的使用NSTimeInterval(UINavigationControllerHideShowBarDuration)
以确保类型签名代码的读者相匹配。
您是否尝试添加“延迟”参数? – APerson 2014-10-27 18:20:12
是的基本上增加了所有的参数问题是与UINavigationControllerHideShowBarDuration – sger 2014-10-27 18:23:22