追加でStoryboardを読み込む

Filed under iOS SDK, Objective-C
Tagged as , ,

既にUINavigationControllerの管理下にある状態で、その中に、新しいストーリーボードを読み込み、Pushさせる時のコードをメモしておきます。

xcode storyboard

Storyboardファイル読み込み

secondSB.storyboard というストーリーボードファイルを読み込み、Navigation ControllerにPUSHさせるときは次のようになります。

1
2
3
4
5
UIStoryboard* storyboard = [UIStoryboard storyboardWithName:@"secondSB" bundle:[NSBundle mainBundle]];
id vc = [storyboard instantiateInitialViewController];
 
// PUSHして遷移、の例.
[self.navigationController pushViewController:vc animated:YES];

これが出来ると、一つのStoryboardファイルだけが巨大化していくのが防げ、管理するのに適度なサイズで設計/実装できます!

注意点

1つだけ注意するべき点は、上記のコードでstoryboardファイルがない場合には例外(exception)が発生するので、その対応をしておく必要が有る、ということです。
対応例は次のようになります。

1
2
3
4
5
6
7
8
9
10
UIStoryboard* storyboard = nil;
@try{
  [UIStoryboard storyboardWithName:@"secondSB" bundle:[NSBundle mainBundle]];
  id vc = [storyboard instantiateInitialViewController];
  // PUSHして遷移、の例.
  [self.navigationController pushViewController:vc animated:YES];
}
@catch{
  // 例外が発生.
}

try-catchで括る範囲は適当に最適化すれば良いですが、storyboardWithName:bundle: はやっておいたほうがよさそうです。


[AD]

↓気になる書籍が登場!どういう手順で教えているのか是非チェックしたい。

アマゾンのサーバでエラーが起こっているかもしれません。
一度ページを再読み込みしてみてください。

↓iOS/Android両対応のcocos2d-xの書籍が登場!要チェック!

アマゾンのサーバでエラーが起こっているかもしれません。
一度ページを再読み込みしてみてください。

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)