サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
画力アップ
blog.nodoa.info
iPhone アプリ開発でアニメーションを入れる時などには、メソッドの実行、遅延実行、実行のキャンセルを使います。 // 例えば - (void)viewDidLoad { [super viewDidLoad]; // アニメーション1を実行 [self performSelector:@selector(animation1) withObject:nil]; // アニメーション2を10秒後に実行 [self performSelector:@selector(animation2) withObject:nil afterDelay:10]; // アニメーション3の実行をキャンセル [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(animation3) object:nil];
Mac でターミナルを使う場合、背景色を黒にする人が多いと思います。 僕も見た目がカッコイイのでそうしています。 でも、vim でコメントが見づらい場合があります。 そんな時は、.vimrc の設定をちょこっといじっちゃいましょう。 コメントの色を緑色にする場合、.vimrc に次の一行を追加(僕はこっちにしています) hi Comment ctermfg=2 コメントの色を黄色にする場合、.vimrc に次の一行を追加 hi Comment ctermfg=9 簡単ですね! (変更前) (変更後) 参考: vim コメントの色を変更する ctermfg
iPhone アプリはデフォルトで色々なアニメーションを画面遷移時に使えますが、独自でカスタマイズしたアニメーションを使いたい場合は次のように CATransition を使うことで実装できます。 まず、ライブラリが必要です。 #import <QuartzCore/QuartzCore.h> ・NavigationController を使う場合 CATransition *transition = [CATransition animation]; transition.duration = 0.4; transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]; // 例えば transition.type = kCATransit
※もっと簡単な実装方法があったので、記事を書き直しました。 UIView でスワイプ操作による処理を実装(書き直し) スマートフォンと言えばスワイプ操作、フリック操作がありますね。 この操作をアプリ内で実装するには次のようにします。 .h ファイル @interface classname : UIViewController { CGPoint _tBegan, _tEnded; } @end .m ファイル -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ UITouch * touchBegan = [touches anyObject]; _tBegan = [ touchBegan locationInView: self.view ]; } -(void)touchesEnded:(NS
まず、本題の UITextView に入るまえに・・・ UITextField で出したキーボードを完了ボタンタップでしまうのは、delegate を使えば楽チンですね。 // キーボードの改行ボタンを完了ボタンにする textFieldSample.returnKeyType = UIReturnKeyDone; // delegate textFieldSample.delegate = self; /* 略 */ // キーボードを出す [textFieldSample becomeFirstResponder]; /* 略 */ - (BOOL)textFieldShouldReturn:(UITextField *)textField { // キーボードを隠す [textFieldSample resignFirstResponder]; return YES; } では、
起動中の iOS アプリの情報を取得するには、次のように書きます。 // アプリバージョン情報 NSString *version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"]; // ビルドバージョン情報 NSString *build = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]; 例えばアプリ上でお問い合わせメールを送れるようにした場合、これを使えばお問い合わせをしてきたユーザがどのバージョンのアプリを使っているのか知ることができますね。 iPhone ユーザはしばしば古いバージョンのアプリを使っていることがあるので。 参考: iOS アプリでバージ
iPhone アプリ開発中に NSLog() を使ってログを確認することはよくあります。 その NSLog() を残したままアプリをリリースしてしまうと、 リリースされたアプリでもご丁寧にログを吐き出すそうです。 ログを吐き出すと、動作が遅くなったり、セキュリティ面で危なかったりします。 でも、だからといってリリース前に全ての NSLog() 文を削除するのは、それはそれで面倒なケースもありますね。 そんな時は、NSLog() を開発環境でのみログを吐き出し、本番環境ではログを吐き出さないようにマクロで定義すれば OK です。 定義の仕方は至ってシンプル。 .pch ファイル に以下の記述を追加するだけです。 #if DEBUG #else # define NSLog( args... ) #endif これで、開発時のみログが吐き出されるようになります。便利ですね。
UINavigationController を使うと、デフォルトでは UINavigationBar 以外のインターフェイスが44pxずれますね。 ずれを無くすためには、一行加えればOKです。 - (void)viewWillAppear:(BOOL)animated { // UINavigationBar 44px のずれを無くす self.navigationController.navigationBar.translucent = YES; } なお、UIStatusBar 20px 分のずれも無くす場合、次のように書きます。 - (void)viewWillAppear:(BOOL)animated { // UINavigationBar 44px のずれを無くす self.navigationController.navigationBar.translucent
例えば、文字列から空白(スペース)を取り除きたい時。 stringByTrimmingCharactersInSet を使うんだと思っていました。 でも、これだと次のようになります。 NSString *str1 = @" abc "; str1 = [str1 stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]; NSLog(@"%@",str1); // 出力されるのは"abc" NSString *str2 = @"a b c"; str2 = [str2 stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]; NSLog(@"%@",str2); // 出力されるのは"a b c" stringB
このページを最初にブックマークしてみませんか?
『blog.nodoa.info』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く