頭と尻尾はくれてやる!

iOSアプリなどの開発日記です


タブごとにstoryboardファイルを分ける

storyboardファイルを軽くするためxibを切り離す時のAutolayoutについて

↑この記事の訂正版。
いざこの方法で製品用のプロジェクトを新規作成して作っていくぞー!とはりきっていたのだが、、、あれ?だめやん?!となった。
ナビゲーション周りやテーブルのセルをタップした時にどうするのか、、、みたいなのってxibじゃあダメだったのだ。いや、なんとも情けない。

そんなわけで結局、タブごとにstoryboardファイルを分けることにした。

storyboardの設定

↑新規のstoryboardファイルにnavigation controller、view controllerなどをセット(これは3番目のタブ)。
見えにくいけど一番左がnavigation controllerで、その右がtable view controller。このテーブルのセルをタップすると右のview controllerが表示される、というもの。

-(void)setupTab3
{
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@“Tab3” bundle:nil];
naviCon3 = [storyboard instantiateViewControllerWithIdentifier:@“tab3_navi1”];
naviCon3.title = @“tab title3”;//タブのタイトル
naviCon3.tabBarItem.image = [UIImage imageNamed:@“icon_edit.png”];//タブの画像
}
↑storyboardのnavigation controllerをこんな感じで引っ張ってきて、、、
{
[tabBarController setViewControllers:
[NSArray arrayWithObjects:naviCon1 , naviCon2 , naviCon3 ,nil]];

[self addChildViewController:tabBarController];
[self.view addSubview:tabBarController.view];
}
↑それぞれtab bar controllerに入れる。

結果のスクショ1

↑この方法なら前記事のようなトリッキーなことをぜずともstoryboard内のSafe Areaもそのまま使える(文字列にはconstraintは設定していない、右下の四角で確認した)し、

結果のスクショ2

↑テーブルも意図通り表示された。


タブの画像やタイトル設定をコードで書く必要があるもののまあこれならわかりやすいだろう、ということでこれで書いていこう。不具合あったら訂正します。
スポンサーサイト




<< scrollViewをAutoLayoutとなるべく少ないコードで設定する例  TopPage  storyboardファイルを軽くするためxibを切り離す時のAutolayoutについて >>

コメント


管理者にだけ表示を許可する
 

トラックバック

トラックバックURL
https://ringsbell.blog.fc2.com/tb.php/1310-12525ed2




Copyright ©頭と尻尾はくれてやる!. Powered by FC2 Blog. Template by eriraha.