私のIPhoneアプリケーションでは、UILabelのテキストを1秒間輝かせてから、1秒間フェードアウトします。また、私はこのサイクルを3〜4回繰り返すことを望みます。IPhone Text Glow Effect
これは可能ですか?
私のIPhoneアプリケーションでは、UILabelのテキストを1秒間輝かせてから、1秒間フェードアウトします。また、私はこのサイクルを3〜4回繰り返すことを望みます。IPhone Text Glow Effect
これは可能ですか?
はい。 beginAnimation ... commitAnimationを使用し、アルファ値を使用してULabelを明るくするか暗くします。 UILabelのアルファベットのデフォルト値が0.85で始まり、1.0に明るくなってから0.75に減っていることを確認してください。すべて終了したら、0.85に戻ります。
ラベルの上に灰色または黒色の別のビューを表示し、同じbegin ... commitAnimationを使用して0から0.20程度のアルファ値を変更するなど、他の方法もあります。
質問をしてください – SeniorShizzle
彼はアニメーションパートだけに答えていますので、この答えはOKです。 –
これを行うにはさまざまな方法がありますが、品質はさまざまです。 1つの方法は、UILabelをサブクラス化し、drawRectメソッドのコアグラフィックスにある種の勾配効果を実装することです。
また、テキストシャドー(色とアルファを変更)で遊んで、まともな光が出てくるかどうかを確認することもできます。
最も簡単な方法は、おそらく、Photoshopで透明なグローアウトライン画像を作成し、それをテキストの後ろに置くことです。そして、mahboudzが提案するようにします。イメージをcoreanimationを使って出し入れします。
私は、UILabelをサブクラス化し、テキストにグローとソフトシャドウを適用できるサンプルコードをいくつか掲載しました。 3.2のよう
http://www.redrobotstudios.com/blog/2010/04/29/create-glow-soft-shadow-text-on-iphone/
は、SDKで影の直接サポートがあります。パラメータを持つ
label.layer.shadowColor = [label.textColor CGColor];
label.layer.shadowOffset = CGSizeMake(0.0, 0.0);
プレイ:
label.layer.shadowRadius = 3.0;
label.layer.shadowOpacity = 0.5;
とラベルboudsによって切り取られている影を避けるために:
label.layer.masksToBounds = NO;
が
#include <Quartzcore/Quartzcore.h>
に忘れてはいけないととのリンクまたはCoreGraphics
フレームワーク(これを指摘してくれたコメント者のおかげで)。
- (UILabel *) setUpGlowLabelWithFrame: (CGRect) frame fontSize: (int)fontSize {
UILabel* label = [[UILabel alloc] initWithFrame:frame];
label.backgroundColor = [UIColor clearColor];
label.font = [UIFont boldSystemFontOfSize:fontSize];
label.textColor = [UIColor whiteColor];
label.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMargin;
label.textAlignment = UITextAlignmentCenter;
label.layer.shadowColor = [label.textColor CGColor];
label.layer.shadowOffset = CGSizeMake(0.0, 0.0);
label.layer.masksToBounds = NO;
label.layer.shadowRadius = 0.5f;
label.layer.shadowOpacity = 0.95;
label.numberOfLines = 2;
label.tag = 20;
return label;
}
これを使用するとグロー効果が得られます。
希望します。
ハッピーコーディング:)
良い質問。私は正確なことをしたい。 – Raptor
あなたは@ andrewgleaveの回答を受け入れるべきです。 – msgambel