我想在另一个swift文件中创建一个通用函数,用于隐藏和显示带有动画的UI对象。这两个代码:
func hide(object: /*My UI Object*/, duration: Double, delay: Double) {
UIView.animate(withDuration: duration, delay: delay, options: [], animations: {
object.alpha = 0
} ,
completion: nil
)
}
func show(object: /*My UI Object*/, duration: Double, delay: Double) {
UIView.animate(withDuration: duration, delay: delay, options: [], animations: {
object.alpha = 1
} ,
completion: nil
)
}
我想使用对象的此功能,例如:UILabel,UIButton,UIView,UITextField等。我找不到任何允许多种类型作为“对象”参数的方法。
我还尝试将“对象”的类型设置为“任意”,但这会导致“对象”没有成员“ alpha”的错误。
将类型设置为AnyObject会导致错误,因为“ object”是“ let”常量,因此无法分配给属性。
谢谢您的帮助!
您可以将参数键入为UIView
,因为所有提到的控件都继承自该参数。
func hide(object: UIView, duration: Double, delay: Double) {
UIView.animate(withDuration: duration, delay: delay, options: [], animations: {
object.alpha = 0
} ,
completion: nil
)
}
func show(object: UIView, duration: Double, delay: Double) {
UIView.animate(withDuration: duration, delay: delay, options: [], animations: {
object.alpha = 1
} ,
completion: nil
)
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句