デバイスの回転への対応
せっかくなので、もう少し機能を追加してみよう。まず、デバイスの回転への対応だ。やはりiPhoneだったら、デバイスを横にしたら、画面も横にしたい。
今回のプロジェクトでは、回転への対応は非常に簡単だ。MemoPadViewControllerはUIViewControllerというクラスを継承しているのだが、このクラスがすでに回転対応をサポートしているのだ。このサポートを有効にするには、shouldAutorotateToInterfaceOrientation:というメソッドを使う。このメソッドも、すでにソースコードの中に含まれているはずだ。
MemoPadViewController.mから、shouldAutorotateToInterfaceOrientation:を探してほしい。コメントアウトされていると思うので、コメントを外そう。そして、次のように編集する。
MemoPadViewController.m
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// デバイスが回転したとき、ビューも回転させる
return YES;
}
これだけでオッケーだ。これだけで、デバイスが回転すると、ナビゲーションバーやテキストビューも自動的に回転する。シミュレータで試してみよう。編集後のファイルをビルドして実行する。そして、シミュレータのハードウェアメニューにある、「半時計回りに回転」「時計回りに回転」を選択してほしい。デバイスが回転して、同時に中のビューも回転するはずだ。
文字を入力してみると、キーボードも横向きになっているはずだ。このように、デバイスの回転への対応は、非常に簡単に行える。