iOSアプリ開発のメモ置き場

ささたつがiOSアプリ開発で知ったObjective-Cのtipsなどを書いていく所存

2014-01-01から1年間の記事一覧

initWith メソッドのあれこれ

初期化にはいろいろな方法がある。 1. UILabel などを、サイズや位置を指定しつつ生成するとき initWithFrame: 2. Storyboard から UIView を生成するとき initWithCoder: 3. xibファイルをコード上から読み込みたいとき initWithNibName:bundle: Storyboard…

XCode の便利そうなショートカットキー

// Command + 1 ~ 6 ナビゲーションバーの中のタブの移動 // Command + Shift + F プロジェクト全体からの検索 // Ctrl + 6 ファイル内のメソッド検索(絞り込みも可) // Cmd + Shift + J 現在開いているファイルにフォーカス

任意の要素をタップしたときの処理を UITapGestureRecognizer を使って登録する

// imageView がタップされたときに tapImageView という処理を行う UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapImageView)]; [self.imageView addGestureRecognizer:tapGes…

UILocalNotification を使って iPhone に通知を出す

画面上の方にぴょこっと現れるアレ。アプリ開いてると出ないみたい。 UILocalNotification *localNotification = [[UILocalNotification alloc] init]; NSDate *fireDate = [[NSDate alloc] initWithTimeInterval:10*60 sinceDate:[NSDate date]]; // 10分後…

新しいファイルを追加したときに、コメント部分の "年" を消す方法

ターミナルで一発でいけた!! defaults write com.apple.dt.Xcode AppleLocale en_US

Objective-C の配列周りの処理

componentsJoinedByString 覚えにくいな・・ NSMutableArray *array = [[NSMutableArray alloc] init];; for (NSDictionary *language in user.languages) { [array addObject:language[@"name"]]; } NSLog(@"%@", [array componentsJoinedByString:@","]); …

viewDidLoad と viewWillAppear の違い

viewDidLoad は View が生成された最初の一回だけ呼ばれる。viewWillAppear (や viewDidAppear )は生成後、View が表示される直前(された直後)に呼ばれる。 タブ等の切り替え等により、画面に表示されるたびに呼び出される。何度でも呼ばれる。

iOSアプリでWebフォント (IcoMoonとかFontAwesomeとか) を使いたい

IcoMoon を使う場合はこんな感じ。 label.font = [UIFont fontWithName:@"icomoon" size:12]; label.text = @"\uE605"; FontAwesome を使う場合はこんな感じ。 label.font = [UIFont fontWithName:@"FontAwesome" size:12]; label.text = @"\uf000";

navigationBarのデザインをカスタマイズする

背景色を変えたい → barTintColor を使う [UINavigationBar appearance].barTintColor = [UIColor colorWithRed:1.000 green:0.447 blue:0.176 alpha:1.0]; ナビゲーションバー上の戻るリンクの色を変えたい → tintColor を使う [UINavigationBar appearance…

UITableView のデータ再読込 (reloadData) の処理

この辺の話いまいち理解出来てないけどそういうものらしい。 http://ebisu.surbiton.jp/sysblog/2012/04/uitableview.html [(UITableView)tableView performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:NO];

UIAlertView と UIActionSheet の違い

UIAlertView ユーザの情報を利用する際の警告(OKで選べるようなやつ) バックグラウンドで発生した事象に関する警告 UIActionSheet ユーザになんらかのアクションを選択させる ユーザのアクションに対して確認を取りたい

UIViewController はなぜ必要なのか

画面が2画面以上存在するときに、どうやってそれらの間を遷移するか。不要な要素を hidden で隠したり、新しい要素を追加したりすれば一応可能だけど、そもそも画面全体をごっそりと入れ替えられると便利。それをやってくれてる(複数の UIView をまとめて画…

すべては UIView のサブクラス

UIView は画面を構成する要素の基本クラス 位置とサイズを持つ四角形で、背景色やコンテンツを持つ コンテンツとして文字を持つ UIView が UILabel コンテンツとして画像を持つ UIView が UIImageView 初期化時には initWithFrame で位置やサイズを決定する …