2014年8月31日日曜日

【Objective-C】iPhoneのアプリ名をアプリ名を多言語化(ローカライズ)する方法


1 PROJECTからInfoを選択し、 Localizationsの+を追加して、Japaneseを追加する。








2 Supporting Filesフォルダ内のInfoPlist.stringsを展開して、
  Japaneseが追加されていることを確認し、各ファイル内に以下を設定する。


 
 



■ Japanese
CFBundleDisplayName = "あああ";

■ English
CFBundleDisplayName = "AAA";

このような設定をすることにより、アプリ名が言語によって変更できます。

2014年8月30日土曜日

【Objective-C】カウントアップするタイマーの作り方(ミリ秒まで)

タイマー開始前に時間表示用のラベルの初期化、開始時刻の取得をします。
その後、タイマーのインターバルにはSelectorで指定されているメソッドの呼び出し頻度を設定し、タイマーをリピートさせて開始します。
これにより、onTimerメソッドが0.01秒単位で呼び出しされる。
onTimerにて、開始時刻と現在時刻を比較する。比較結果から分・秒・ミリ秒を求めて、時間表示用のラベルに代入する。
ちなみに、タイマーを停止する場合は、invalidateメソッドを使用します。


■ ヘッダーファイル
NSTimer        * _timer;
NSDate         * _stTime;
@property (weak, nonatomic) IBOutlet UILabel *lblTime;

▪ ソースファイル
- (void)viewDidLoad
{
    self.lblTime.text = @"00:00.000";
    _stTime = [NSDate date];
    _timer = [NSTimer scheduledTimerWithTimeInterval:(0.01)
                                              target:self selector:@selector(onTimer:)
                                            userInfo:nil repeats:YES];
    [_timer fire];
}

- (void)onTimer:(NSTimer*)timer {
    NSTimeInterval dateDiff = [[NSDate date] timeIntervalSinceDate:_stTime];
    //int hour   = dateDiff / (60 * 60);
    int minute = fmod((dateDiff / 60) ,60);
    int second = fmod(dateDiff ,60);
    int miliSec = (dateDiff - floor(dateDiff)) * 1000;
    self.lblTime.text = [NSString stringWithFormat:@"%02d:%02d.%03d",minute,second,miliSec];
}


【Objective-C】文字列から配列を生成する方法

文字列から配列を生成するにはcomponentsSeparatedByStringを使用する。

NSString *data = @"a,b,c"
NSArray *arr = [data componentsSeparatedByString:@","];

data[0] → a
data[1] → b
data[2] → c

2014年8月29日金曜日

【Objective-C】LABEL等のオブジェクトに枠線をつける方法

プロパティからは設定できないので、下記のように実装する必要があります。

#import <QuartzCore/QuartzCore.h>

// 枠線の色
[[self.lblSample1 layer] setBorderColor:[[UIColor whiteColor] CGColor]];
[[self.lblSample1 layer] setBorderWidth:1.0];

2014年6月4日水曜日

【つぶやき】iPhoneアプリのTotalWorkOutが有料ランキングに入りました

おかげさまで、有料ランキングにTop50まで上昇しました。

運動系アプリ「TotalWorkOut」が、iPhone 有料 ヘルスケア/フィットネス アプリ ランキングでダウンロード数増加中です!現在 36位(2014/06/03 時点)
http://plus1world.com/whats-new/totalworkout-iphone


筋トレの管理・筋トレの記録をするアプリ
ダウンロードはこちらから。
iTunes TotalWorkOut

幅広い年代に支持されています。
夏に向けてダイエットをしましょう。

2014年5月31日土曜日

【Objective-C】iPhoneの書式設定に応じて日付表記を変える方法

日本の書式の場合
 2014年5月31日土曜日
アメリカの書式の場合
 Saturday, May 31, 2014

NSDateFormatterのsetDateStyle、setTimeStyleの指定を変える事によって、上記書式以外にも変換出来ます。

    NSDate          *date = [NSDate date];
    NSDateFormatter *df  = [[NSDateFormatter alloc]init];
    [df setLocale:[NSLocale currentLocale]];
    [df setDateStyle:NSDateFormatterFullStyle];
    [df setTimeStyle:NSDateFormatterNoStyle];

    self.labelDate.text = [df stringFromDate:date];