最初の質問おめでとうございます:-)どのようにペン先をロードしますか?インターフェイスをいくつかのファイルに分割することをお勧めします。私は通常、コントローラーごとに個別のペン先を使用し、initWithNibName:bundle:
イニシャライザーを使用してそれらをロードします。ここでペン先の名前を指定するので、読み込み動作を簡単にカスタマイズできます。
タブバーコントローラーを使用してペン先をロードする場合、おそらく1つのペン先にすべてのタブがあります。タブを別々のペン先に分割し、プログラムでロードすると思います。
id tab1 = [[UIViewController alloc] initWithNibName:@"Tab1" bundle:nil];
id tab2 = [[UIViewController alloc] initWithNibName:@"Tab2" bundle:nil];
id tab3 = [[UIViewController alloc] initWithNibName:@"Tab3" bundle:nil];
[tabBarController setViewControllers:[NSArray arrayWithObjects:
tab1, tab2, tab3, nil]];
また、ペン先の名前を制御できるようになったため、ファームウェアのバージョンを簡単に検出して、正しいペン先をロードできます。
id tab1 = [[UIViewController alloc] initWithNibName:
[self nibNameForCurrentFirmware] bundle:nil];
ファームウェアバージョンの検出自体は、 [UIDevicesystemVersion]が使えると思います。