アプリ開発の逆引き辞典

アプリ開発のTipsをまとめました

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

文字列からUIImageオブジェクトを生成する

NSString型の文字列を画像に変換します。「サイズを指定して空のUIImageオブジェクトを生成する - iOSアプリ開発の逆引き辞典」をベースとしています。 - (UIImage *)imageWithString:(NSString *)text { // 描画するサイズ CGSize size = CGSizeMake(34, 18…

NSTimerでblocksを処理する

NSTimerのカテゴリを扱ったプロジェクトは沢山ありますが、その中でも「NSTimer-Blocks」が使いやすくて重宝しています。 GitHub - jivadevoe/NSTimer-Blocks: Simple category on NSTimer to give it blocks capability. 実際に使う際には、下記のように使…

文字列を表示するサイズを求めるsizeWithFont:メソッドがiOS 7から非推奨になっているのでワーニングが出ないように置き換える

フォントを指定して、文字列が描画されるサイズを求めるのにiOS 6まではsizeWithFont:メソッドとsizeWithFont:constrainedToSize:lineBreakMode:メソッドを使っていました。iOS 7ではこれらのメソッドの使用が非推奨になっています。 - (CGSize)sizeWithFont…

iAdのバナー広告を表示させる

@interface部分でiAd.hをインポートします。 #import <iAd/iAd.h> @interface ViewController() <ADBannerViewDelegate> { } @property (weak, nonatomic) ADBannerView *adView; @end viewDidLoadメソッドでADBannerViewを生成してviewに追加しています。 - (void)viewDidLoad { // 〜〜〜 中</adbannerviewdelegate></iad/iad.h>…

UITableViewのセクションインデックスの見た目をカスタマイズする

UITableViewは、決められたフォーマット(UITableViewCell)に基づいてリスト形式でデータを表示するクラスです。 データが多くなりリストが長くなった場合には、SectionIndex(セクションインデックス)を使ってセクション単位でのジャンプをする機能を提供しま…

NSStringクラスのdrawInRect:withFont:lineBreakMode:alignment:メソッドをワーニングが出ないように書き換える

NSStringクラスのdrawInRect:withFont:lineBreakMode:alignment:メソッドは、iOS 7.0から「deprecated(非推奨)」となり、下図のようなワーニング表示されるようになりました。 横に長いため全文表示ができていませんが、下記のようなワーニングが表示されて…

UISegmentedControl(セグメンテッドコントロール)の見た目をカスタマイズする

UISegmentedControl(セグメンテッドコントロール)は、いくつかの項目に分割されたボタンを管理するクラスです。 UISegmentedControlを単純に配置した場合、iOS 7.0以降では下図のように表示されます。 本記事では、セグメンテッドコントロールをカスタマイズ…

Google Analytics SDK for iOS v3に対応する(バージョン2からの移行)

今までGoogle Analytics SDK for iOS v2を使っていましたが、2014年2月よりiOSアプリのx64対応が必要となり、最新版のSDKであるGoogle Analytics SDK for iOS v3を使う必要が出てきました。 Google Analytics SDKのアップデートは基本的にはファイルの差し替…

クラス名からそのクラスの持っているプロパティの一覧を取得する

クラス名からそのクラスの持っているプロパティの一覧を取得する方法をご紹介します。ログ出力に便利になると思います。 #import <objc/runtime.h> // クラス名からプロパティリストを生成する id lenderClass = objc_getClass([className UTF8String]); unsigned int proper</objc/runtime.h>…

カスタムURLスキームを設定して自分自身のカスタムURLスキームを呼び出す

カスタムURLスキームを使用して他のアプリを起動する方法をいくつか紹介しました。 カスタムURLスキームを使って地図アプリに位置座標を渡して連携起動する - iOSアプリ開発の逆引き辞典 カスタムURLスキームを使って通話アプリに電話番号を渡して連携起動す…

複数の画像を合成させて新しいUIImageオブジェクトを生成したい

本記事では、すでに画像(UIImageオブジェクト)が複数枚用意されていて、それらのすべての画像を合成させてみましょう。 ここでは例として「わーっ」と描かれたセリフ画像と「滑っているネコ」が描かれている画像を1つの画像として合成させてみます。 - (UIIm…

色とサイズを指定して円が描画されたUIImageオブジェクトを生成する

本記事では、UIImageオブジェクトをプログラム(コード)だけで動的に生成する方法を紹介します。 塗りつぶされた円が描画されたUIImageオブジェクトを生成する 塗りつぶされた円を描画するにはCGContextFillEllipseInRect関数を使用します。 - (UIImage *)ima…

色とサイズを指定して1色で塗りつぶされたUIImageオブジェクトを生成する

本記事では、UIImageオブジェクトをプログラム(コード)だけで動的に生成する方法を紹介します。 - (UIImage *)imageWithFillColor:(UIColor *)color size:(CGSize)size { UIImage *image = nil; // ビットマップ形式のグラフィックスコンテキストの生成 UIGr…