Monthly Archives: November 2012

Objective-C:音楽(BGM)や効果音(SE)等のサウンド再生方法

効果音は AudioToolBox、再生時間の長いサウンドループ等は AVFoundation、と使い分けるのが一般的。 サウンド再生方法 AudioToolBoxを使ったサウンド再生 ViewController.h ViewController.m プロジェクト内のサウンドファイル filename.aif を再生する場合 AVFoundationを使ったサウンド再生 ViewController.h ViewController.m まとめ AudioToolBox は、30秒以内の制限付きではあるが、連打(連続再生)してもはっきりと再生される。 AVFoundation の場合、再生開始時に遅延が発生し、たまに途切れて再生されてしまうという問題がある。 こういった理由からも効果音程度の再生であれば、AudioToolBox を使用するのが好ましい。 CoreAudio や OpenALなら、サウンドを思い通りにコントロールできそうだが、この2つはもう少し後の話になりそうだ。

Objective-C:現在表示中のViewを一時的に切り替える方法

現在表示中の View から、一時的に View を切り替えたい時がある。画面遷移とまではいかない、ライトな画面切り替えの実装方法をメモ。 表示中のViewを切り替える 選択肢は次の2通り。 新規に UIView を作成し現在の View に addSubView する UIViewController メソッドの presentModalViewController で現在の View を切り替える 前者は、現在のViewに表示中のオブジェクトを残しつつ、新しいViewを載せる、後者は、現在の View を一時的に破棄し、新しい画面を表示する、と考えればいいと思う。 ウェルカムスクリーンや、一時的なヘルプ表示なら、presentModalViewController メソッドの方が、実装が簡単で便利。 使い方は以下のとおり。 もしくは、以下のように生成時にインスタンスを autorelease プールに入れておくと、modalView を破棄したら自動的にインスタンスも開放される。 表示中のmodalViewから、元の View に戻るには を実行する。 まとめ このやり方を知るまでは、ずっと addSubView していた。。

Objective-C:UIScreenでデバイスの画面サイズを取得する

アプリを作る上で避けて通れない画面サイズ。UIScreen を使えば2種類のサイズを取得することができる。 画面サイズを取得する デバイスのスクリーン領域を取得(画面サイズ) ステータスバーを考慮したスクリーン領域を取得(ステータスバー表示ならステータスバー領域がマイナスされる) まとめ アプリ画面のUIが完全に固定されているなら mainScreen を、ある程度柔軟に設計されているのであれば applicationFrame を使用する。

Objective-C:アプリのバージョンを取得する

アプリの設定画面等でよく目にするアプリのバージョンを取得する方法。 アプリのバージョンを取得 mainBundleからキー @”CFBundleShortVersionString” を指定し取得する。 関連する項目 Objective-C:iOSのバージョンを取得する

Objective-C:UIViewのプロパティframeとboundsの違い

UIView のプロパティ frame と bounds の違いをよく忘れるのでメモ。 解説 frame superから見た座標 bounds selfの座標 まとめ frame と bounds は親子関係のようなものであると考えておけばよい。

Objective-C:UISegmentedControlのフォントサイズを変更する

アプリの設定画面等でお世話になる UISegmentedControl のフォントサイズ変更の方法をメモ。 変更の方法

Xcode:コード検索パスを追加する

外部からライブラリを参照した場合、ソースコードやヘッダファイルはプロジェクトの外に配置されているので、ビルドやコード補完等を行うためにはパスを追加する必要がある。 コード検索パスの追加手順 Xcode から PROJECT > プロジェクト名 > BuildSettings > Header Search Paths を選択する。 Header Search Pathes項目が空欄になっているはずなので、空欄をダブルクリック後+ボタンを押し、必要な分のヘッダーファイルやクラスファイルのパスを追加する。 まとめ プロジェクトから新しくライブラリ等を参照した場合は「パスを通す」を習慣付ける。