u16suzuの blog

日々学んだことのメモブログです。

iOS

おすすめのログ系コードスニペット

// @""をはじめから入力してある NSLog NSLog(@"%@", <#object#> ); // メソッド名と行数を表示 NSLog(@"Function: %s, Line: %d", __PRETTY_FUNCTION__, __LINE__ ); // コールスタックを表示 NSLog(@"%@", [NSThread callStackSymbols]);

画面タップでキーボードを隠す

ios

viewDidload あたりに以下を追加 // 背景をタップしたら、キーボードを隠す UITapGestureRecognizer *gestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hideKeyboard)]; [self.view addGestureRecognizer:gesture…

デバッグ用のマクロ

iOS

#ifdef DEBUG #define DLog(fmt, ...) NSLog((@"%s:%d\n " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__); #else #define DLog(...) #endif

画像ファイルの名前に @2x をつけるスクリプト

# rename.rb # ex. hoge.png => hoge@2x.png require 'pathname' require 'fileutils' Dir.entries('.').each do |entry| if Pathname(entry).extname == '.png' FileUtils.mv entry , Pathname(entry).sub_ext('@2x.png') end end

アプリが初回起動かをチェックするメソッド

- (BOOL)isFirstLaunch{ NSUserDefaults*ud = [NSUserDefaults standardUserDefaults]; NSString *key = @"isAlreadyLaunched"; NSString *res = [ud objectForKey:key]; if(! [res isEqual:@"Yes"]){ [ud setObject:@"Yes" forKey:key]; [ud synchronize]; …

sizeToFit

ios

ビュー自身のsizeをコンテンツのサイズにあわせる. [self sizeToFit];

横浜へなちょこiOS勉強会#30 に行ってきました.

昨日 2014/1/25(土) にミューザ川崎にて横浜へなちょこiOS勉強会#30が開催されまして, 久しぶりの勉強会に行ってきました. メインの発表は次のようなものでした. Xcodeと自作スクリプトについてのTIPSなど(@haranicleさん) こちらの記事の補足みたいな感じで…

TestFlightのMacクライアントが有能だというお話

TestFlightのクライアントアプリを入れて起動しておくと, Xcodeでアーカイブしたときに自動で検出してくれます. TestFlight's Desktop App http://www.testflightapp.com/desktop アーカイブ後ノーティフィケーションセンターでポップアップが出現するので, …

UIAppearanceを使ってボタンの背景画像を一括で設定する

ボタンがadd subviewされる側のクラスによって指定ができるけど, ちょっと使いづらい. カスタムなボタンを作った方がよいかもしれない. UIImage *btnImg = [UIImage imageNamed:@"hoge"]; UIImage *btnImgHighlighted = [UIImage imageNamed:@"fuga"]; [[UIB…

カスタムビューの動作をビューコントローラ側で設定する

iQONのView構成紹介 14ページ目 http://www.slideshare.net/ararajp/vasilyretty?ref=http://tech.vasily.jp/2013/09/ios_iqon_view/ のスパイクプロジェクトをつくってみた. カスタムビューを作ったときにカスタムビューのなかではなく それを使うビューコ…

MagicalRecordメモ

define をpchにでも書いておくとメソッドの prefix(MR_部分) を省略できるようになる. (#importの前に書く必要がある。) #define MR_SHORTHAND #import <CoreData+MagicalRecord.h> context 取得 NSManagedObjectContext *context = [NSManagedObjectContext defaultContext]; オブジェ</coredata+magicalrecord.h>…

typedef with enum

typedef NS_ENUM(NSInteger, HogeState) { HogeStateStart, HogeStatePause, HogeStateEnd };

Objective-C でマルチスレッドプログラミング

マルチスレッド処理のやり方がいくつかあるが、それぞれ試してみた。 GCDが最近の書き方らしいけど、まだまだgithubに上がっているライブラリをみると NSOperationを使っていたりするので、ひと通りやってみました。 // part1 シンプルなパターン [self perf…

NotificationCenter

// pchファイルで通知を定義 #define notification @"notification" // Notification 送信 NSNotification *notification = [NSNotification notificationWithName:HideResultViewNotification object:self]; [[NSNotificationCenter defaultCenter] postNot…

JSFlatButtonの使い方

JSFlatButtonという大好きなObjective-C のライブラリがありまして、それの使い方です。 // ボタン JSFlatButton *button = [[JSFlatButton alloc]initWithFrame:CGRectMake(0, 100, 320, 50)]; button.buttonBackgroundColor = [UIColor colorWithRed:0.74f…

ブロック変数を定義する

NSString* (^test)(NSString*, NSString*) = ^(NSString* head, NSString* tail){ return [NSString stringWithFormat:@"%@%@", head, tail]; }; NSLog(@"%@", test(@"hoge", @"fuga"));

聖剣伝説2のようなUIがカッコいいiPhoneゲームiPokeMon

iPokeMonはGPS情報を利用したポケットモンスターのようなゲームで、実際の町、国で異なるポケモンが出現し、捕まえることができる。このゲームは 去年 Kjuly さんが大学の卒業プロジェクトとして開発し、実際にアップルに申請した。 しかし、コピーライトの…