2013年7月18日木曜日

NSString文字列を検索する

NSStringには一般的に利用する文字列検索「前方一致」「後方一致」「あいまい」「完全一致」の検索方法が始めから備わっています。

利用方法は以下通りです。

    
NSString *text = @"abcdefg";

if([text hasPrefix:@"abc"] == YES)
{
    NSLog(@"文字列の先頭はabcです。");
}

if([text hasSuffix:@"efg"] == YES)
{
    NSLog(@"文字列の末尾はefgです。");
}

if([text isEqualToString:@"abcdefg"] == YES)
{
    NSLog(@"文字列はabcdefgです。");
}

if([text rangeOfString:@"cde"].location != NSNotFound)
{
    NSLog(@"文字列にcdeが含まれます。");
}


上記を実行するとコンソールには以下の様な結果が表示されます。

    
文字列の先頭はabcです。
文字列の末尾はefgです。
文字列はabcdefgです。
文字列にcdeが含まれます。

2013年7月16日火曜日

ボタン上の文字列を折り返す

UIButtonに長い文字列を設定した場合。
以下の様に、大変不格好な縮められ方をする場合があります。


// ボタン生成
 UIButton *textButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 240, 240)];
 [textButton setTitle:@"あいうえおかきくけこさしすせそたちつてと" forState:UIControlStateNormal];



こんな時は、自動で改行してくれるように設定しましょう。


// 行数を"無制限"に設定する。
[[textButton titleLabel] setNumberOfLines:0];


うまく出来ました。

こういった場合で、「2行分しかスペースが無いが、出来る限り表示したい」という場合は、以下の様な設定。



// 行数を"2行"に設定する。
[[textButton titleLabel] setNumberOfLines:2];


後はもうフォントサイズを小さくするくらいしか手立てはありませんね。

2013年7月4日木曜日

アプリのステータスバーを消す方法







この上部の時間が表示されているところを消す方法を毎回忘れてしまうので、備忘録。


// ステータスバーを消す
[[UIApplication sharedApplication] setStatusBarHidden:YES];

// ステータスバーを出す
[[UIApplication sharedApplication] setStatusBarHidden:NO];

こうだ!