swift 为所有添加的视图设置动画 alpha

swift animate all added views alpha

我想通过 alpha 更改为所有视图(基于标签)设置动画,但出现 "cannot assign alpha to view" 错误。执行此操作的好方法是什么?

所有视图在添加为 myCustomView 的子视图时的 alpha 均为 0

func transitionEffects() {
    UIView.animateWithDuration(0.5, animations: {
        for view in self.myCustomView.subviews {
            if(view.tag != 999) {
                view.alpha = 1
            }
        }
    })
}

这是因为Swift在发送方法之前需要知道子视图中的对象种类NSArray
NSArray 自动转换成 swift ArrayAnyType 个对象,因此它不知道从数组中提取了哪种对象。通过将数组转换为 UIViews 对象的数组,一切都应该正常工作。

func transitionEffects() {
    UIView.animate(withDuration: 0.5, animations: {
        for view in self.myCustomView.subviews as [UIView] {
            if (view.tag != 999) {
                view.alpha = 1
            }
        }
    })
}