カテゴリ: GitHub
ヘッダやフッタを表示できるSplitViewController
スポンサーリンク
UISplitViewControllerってあまり融通が効かないですよね。github漁ったけど自分が望むようなものは見つからず・・・せっかくなので自分で作りました。ヘッダやフッタを表示することもできます。
https://github.com/stack3/STSplitViewController
こんな風に画面の向きに関わらずDetailの幅を固定にして、その分Masterの幅を大きくすることができます。Tweetbot for iPadがこうなっていて、同じようにしたかったのです(笑)
MasterとDetailの間の区切り線(Divider)の幅は変更可能です。サンプルではちょっと太めにしてます。また独自のViewをDividerとして使うこともできます。
HeaderやFooterを配置したとき。
Footerが欲しかったのは、もちろんiAd Bannerを貼り付けるため(笑)Headerは今のところ使う予定はないけどおまけです。
使い方
MasterViewControllerとDetailViewControllerを配置する
STSplitViewController *splitViewController = [[STSplitViewController alloc] init]; splitViewController.dividerWidth = dividerWidth; UIViewController *masterViewController = [[STMasterViewController alloc] init]; UIViewController *detailViewController = [[STDetailViewController alloc] init]; splitViewController.masterViewController = masterViewController; splitViewController.detailViewController = detailViewController; [self presentViewController:splitViewController animated:YES completion:nil];
HeaderViewControllerとFooterViewControllerを配置する
STSplitViewController *splitViewController = [[STSplitViewController alloc] init]; splitViewController.dividerWidth = dividerWidth; splitViewController.masterViewController = [[STMasterViewController alloc] init]; splitViewController.detailViewController = [[STDetailViewController alloc] init]; splitViewController.headerViewController = [[STHeaderViewController alloc] init]; splitViewController.headerViewHeight = 80; splitViewController.footerViewController = [[STFooterViewController alloc] init]; splitViewController.footerViewHeight = 80; [self presentViewController:splitViewController animated:YES completion:nil];
サンプルコードはプロジェクトにも付属しているので、詳しくはそちらを参考にしてください。
ソースコードは短くシンプルなので、拡張も簡単だと思います。もちろんMIT Licenseです。誰かのお役に立てれば幸いです。
この記事をシェア
スポンサーリンク