2

すべてのビュー (タグに基づく) をアルファ変更でアニメートしたいのですが、「アルファをビューに割り当てることができません」というエラーが表示されます。これを行うにはどうすればよいでしょうか。

myCustomView のサブビューとして追加されると、すべてのビューのアルファが 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 に答える