どうもこんにちは。あっきぃです。
最近無駄に朝散歩してるんですが、短めの坂を登ったところに人の顔が彫られた直径40センチくらいの岩が落ちてます。この前まではこちらをじーっと見てましたが、最近は茂みの方を向いています。なんなんでしょうあれ。
ということで、UIViewとかの背景とかをアニメーションでぽわっと変えたいです。
えいや。
#define RGBA(r,g,b,a) [UIColor colorWithRed: r / 255.0f green: g / 255.0f blue: b / 255.0f alpha: a]
[UIView animateWithDuration:0.4 animations:^{
v.backgroundColor = RGBA(255, 0, 0, 1);
}];
[UIView animateWithDuration:0.4 animations:^{
v.backgroundColor = RGBA(255, 0, 0, 1);
}];
あれれー?
ぽわっとアニメーションでこのViewを赤色に変えようと思ったのに、パッと変わってしまう。
初期値を入力してください。
結論これです。
初期値がnilだとパッと変わってしいます。
v.backgroundColor = RGBA(255, 0, 0, 0);
[UIView animateWithDuration:0.4 animations:^{
v.backgroundColor = RGBA(255, 0, 0, 1);
}];
[UIView animateWithDuration:0.4 animations:^{
v.backgroundColor = RGBA(255, 0, 0, 1);
}];
透明から赤色にしたいので、赤色の透明からスタートしてください。
[UIColor clearColor]はこの例でいくとRGBA(0,0,0,0)なので、黒と赤の中間色が出てしまいます。
お気をつけくださいましまし。