2

我想通过 alpha 更改为所有视图(基于标签)设置动画,但我收到“无法将 alpha 分配给视图”错误。什么是这样做的好方法?

在添加为 myCustomView 的子视图后,所有视图的 alpha 值为 0

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

1 回答 1

4

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

func transitionEffects() {
    UIView.animate(withDuration: 0.5, animations: {
        for view in self.myCustomView.subviews as [UIView] {
            if (view.tag != 999) {
                view.alpha = 1
            }
        }
    })
}
于 2015-07-08T19:42:58.613 回答