Objective-Cネタです。UILabelの文字を点滅をトライしてみました。
ググって探したのですが、スマートな方法が見つけられず…力技ですので、お見苦しいかも。もしもっといい方法があればぜひコメントをお願いします!
🎂 実装方法
白 <=> 赤に変化するUILabelのサンプルです。
点滅の方法としては、赤 <=> 白 の色の変化を時間とともに少しずつ行っています。=>=>
.h(ヘッダファイル)
は以下のとおり。
@interface ViewController : UIViewController { UILabel *bLabel; BOOL needBlink; float blinkTextExceptRedDelta; float blinkTextExceptRedNum; } @end
|
.m(実装ファイル)
は以下の通り。
- (void)viewDidLoad { [super viewDidLoad]; [self.view setBackgroundColor:[UIColor blackColor]];
blinkTextExceptRedNum = 0.0; blinkTextExceptRedDelta = 0.05;
needBlink = YES; bLabel = [[UILabel alloc] init]; bLabel.frame = CGRectMake(90, 100, 140, 30); [bLabel setTextAlignment:NSTextAlignmentCenter]; [bLabel setBackgroundColor:[UIColor clearColor]]; [bLabel setTextColor:[UIColor redColor]]; bLabel.text = @"test"; [self.view addSubview:bLabel];
[NSTimer scheduledTimerWithTimeInterval:0.05 target:self selector:@selector(blinkUILabel) userInfo:nil repeats:NO]; }
- (void)blinkUILabel { if (needBlink) { float newExceptRedNum = blinkTextExceptRedNum + blinkTextExceptRedDelta; if (newExceptRedNum < 0 || newExceptRedNum > 1.0) { blinkTextExceptRedDelta = blinkTextExceptRedDelta * (-1); blinkTextExceptRedNum = blinkTextExceptRedNum + blinkTextExceptRedDelta; } else { blinkTextExceptRedNum = newExceptRedNum; } UIColor *color = [UIColor colorWithRed:1.0 green:blinkTextExceptRedNum blue:blinkTextExceptRedNum alpha:1.0];
[bLabel setTextColor: color]; [self.view addSubview:bLabel];
[NSTimer scheduledTimerWithTimeInterval:0.05 target:self selector:@selector(blinkUILabel) userInfo:nil repeats:NO]; } }
- (void)viewWillDisappear:(BOOL)blinkd { needBlink = NO; }
|
🖥 VULTRおすすめ
「VULTR」はVPSサーバのサービスです。日本にリージョンがあり、最安は512MBで2.5ドル/月($0.004/時間)で借りることができます。4GBメモリでも月20ドルです。
最近はVULTRのヘビーユーザーになので、「ここ」から会員登録してもらえるとサービス開発が捗ります!