2014.04.14
STAFF BLOG
スタッフブログ
TECHNICAL
テクログ
Objective-C | 文字をふわっと出す (fade in)
Mac,iPhone,Objective-C 全て利用歴4ヶ月の新米プログラマーが送る
自分が使って役立ったmethod集
シリーズ第参弾です。
今回はあまり使い所が無いかもしれない、文字のフェードインです
TeamSchedulerのアプリでも利用箇所は一カ所だけですが、メッセージ表示をオサレに表示するところで利用しています。
UILabel に表示することを想定していますが、UITextにすると入力欄に使用可能です。
common.m
// text fade in 文字をふわっと出す
+ (void)labelFadeIn:(UILabel *)label message:(NSString *)message
{
label.text = message;
label.alpha = 0;???// 透明から始める
[UIView animateWithDuration:0.5 delay:0 options:UIViewAnimationOptionCurveEaseIn
animations:^{ label.alpha = 1;}
completion:nil];
}
呼び出し方
ViewController.h に修正はありません。
ラベルとボタンはストーリーボードから持ってきて下さい。addSubView使おうとしたのですがうまくいきませんでした。
まあ、あっぽーさんもStoryBoard推奨しているのでよし。
#import "ViewController.h"
#import "common.h"
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UILabel *lblMessage; // ラベル
- (IBAction)Button:(id)sender; // ボタン
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
?// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
// 処理実行
- (IBAction)Button:(id)sender {
// message fade in
[common labelFadeIn:_lblMessage message:@"フェードイーン、フェードイイン~ たちまちあふれる神秘の力~"];
}
@end
実行結果
アニメーションに関わる部分なので、自分で確かめて下さい。
ちなみに、+ (void)labelFadeIn:(UILabel *)label message:(NSString *)message
の中の
最初のalphaを1.0、 ブロック構文内のanimations:^{ label.alpha = 0;} にすると
フェードアウトになります。
弊社から出している拙作スケジュールのアプリです。
是非ダウンロードして感想をお聞かせ下さい。
『Team Scheduler』 概要
▼アプリ価格: 無料
▼対応OS: iOS(iPhone/iPod Touch)、Android
▼カテゴリ: 仕事効率化(App Store)、ビジネス(Google Play)
▼対応言語: 日本語
▼推奨環境:
iOS版: iPhone4以降、iOS6. 0以降
Android版: Android OS 2. 3以降
▼ダウンロード: