[iOS] UISplitViewController - おぼえ書き

2011年1月5日水曜日 | Published in | 0 コメント

このエントリーをはてなブックマークに追加

iPad 用アプリの開発を開始。UISplitViewController について調査した(そのおぼえ書き)。

Split View-based Application


Xcode のテンプレートから UISplitViewController を選ぶ。

実行するとこんな画面が表示される。
縦にするとポップオーバー表示になる。


構成


構成イメージはこんな感じ。
UISplitViewController を構成するコントローラの指定はInterface Builder のインスペクタで設定してある。

UISplitViewController.viewControllers の中身はこう。
(
    "<UINavigationController: 0x4d2e290="">",
    "<DetailViewcontroller: 0x4d2e5f0="">"
)
UISplitViewController.view の構成はこう。
UIView
  |-UILabel
  |-UIToolbar
    |-UIToolbarTextButton
      |-UIPushButton
UILayoutContainerView
  |-UINavigationTransitionView
  |-UINavigationBar
    |-UINavigationItemView
なるほど。

RootViewController は UINavigationController に載っているので、階層的なビューの切り替えができるようになっている。この辺りはこれまでの iPhoneアプリと同じようにできる。試しに SubViewController を良いして遷移させてみた。
RootViewController.m

- (void)tableView:(UITableView *)aTableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    
    detailViewController.detailItem = [NSString stringWithFormat:@"Row %d", indexPath.row];
 
 UIViewController* viewController = [[SubViewController alloc] initWithNibName:nil bundle:nil];
 [self.navigationController pushViewController:viewController animated:YES];
 [viewController release];
}

画面の回転により UISplitViewControllerDelegateのメソッドが呼び出される。

– splitViewController:willHideViewController:withBarButtonItem:forPopoverController:
 横 => 縦 により、左側のビューが隠れる時

– splitViewController:willShowViewController:invalidatingBarButtonItem:
 縦 => 横 により、左側のビューが表示される時

– splitViewController:popoverController:willPresentViewController:
 ポップオーバーが表示される時


ソースコード


サンプルはこちら。
SplitViewBaseSample at 2011-01-05 from xcatsan/iOS-Sample-Code - GitHub

Responses

Leave a Response

人気の投稿(過去 30日間)