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

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

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

↑テーブルも意図通り表示された。
タブの画像やタイトル設定をコードで書く必要があるもののまあこれならわかりやすいだろう、ということでこれで書いていこう。不具合あったら訂正します。
↑この記事の訂正版。 いざこの方法で製品用のプロジェクトを新規作成して作っていくぞー!とはりきっていたのだが、、、あれ?だめやん?!となった。
ナビゲーション周りやテーブルのセルをタップした時にどうするのか、、、みたいなのってxibじゃあダメだったのだ。いや、なんとも情けない。
そんなわけで結局、タブごとにstoryboardファイルを分けることにした。

↑新規のstoryboardファイルにnavigation controller、view controllerなどをセット(これは3番目のタブ)。
見えにくいけど一番左がnavigation controllerで、その右がtable view controller。このテーブルのセルをタップすると右のview controllerが表示される、というもの。
-(void)setupTab3↑storyboardのnavigation controllerをこんな感じで引っ張ってきて、、、
{
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@“Tab3” bundle:nil];
naviCon3 = [storyboard instantiateViewControllerWithIdentifier:@“tab3_navi1”];
naviCon3.title = @“tab title3”;//タブのタイトル
naviCon3.tabBarItem.image = [UIImage imageNamed:@“icon_edit.png”];//タブの画像
}
{↑それぞれtab bar controllerに入れる。
[tabBarController setViewControllers:
[NSArray arrayWithObjects:naviCon1 , naviCon2 , naviCon3 ,nil]];
[self addChildViewController:tabBarController];
[self.view addSubview:tabBarController.view];
}

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

↑テーブルも意図通り表示された。
タブの画像やタイトル設定をコードで書く必要があるもののまあこれならわかりやすいだろう、ということでこれで書いていこう。不具合あったら訂正します。
スポンサーサイト
<< scrollViewをAutoLayoutとなるべく少ないコードで設定する例 TopPage storyboardファイルを軽くするためxibを切り離す時のAutolayoutについて >>
トラックバック
トラックバックURL
https://ringsbell.blog.fc2.com/tb.php/1310-12525ed2
https://ringsbell.blog.fc2.com/tb.php/1310-12525ed2