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 Array
个 AnyType
个对象,因此它不知道从数组中提取了哪种对象。通过将数组转换为 UIView
s 对象的数组,一切都应该正常工作。
func transitionEffects() {
UIView.animate(withDuration: 0.5, animations: {
for view in self.myCustomView.subviews as [UIView] {
if (view.tag != 999) {
view.alpha = 1
}
}
})
}
我想通过 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 Array
个 AnyType
个对象,因此它不知道从数组中提取了哪种对象。通过将数组转换为 UIView
s 对象的数组,一切都应该正常工作。
func transitionEffects() {
UIView.animate(withDuration: 0.5, animations: {
for view in self.myCustomView.subviews as [UIView] {
if (view.tag != 999) {
view.alpha = 1
}
}
})
}