6

5 つ以上のタブを含むタブ バーを作成すると、残りのタブが自動的に [その他] ビューに追加されました。それは問題ありませんが、それに加えて、ユーザーはアプリのタブの構成を「編集」できます。

ユーザーにそれをさせたくありません。ユーザーがこれを行うのを防ぐ方法はありますか?

4

2 に答える 2

3

UITabBarControllerのドキュメントをご覧ください。「customizableViewControllers」を検索してください

カスタマイズ可能なViewController

このタブ バー コントローラーによって管理される、カスタマイズ可能なビュー コントローラーのサブセット。

@property(nonatomic, copy) NSArray *customizableViewControllers

討論

このプロパティは、ユーザーがタブ バーのどの項目を再配置できるかを制御します。ユーザーがタブ バー ビューで [その他] 項目をタップすると、カスタム インターフェイスが表示され、メインのタブ バーに収まらなかった項目が表示されます。このインターフェイスには、ユーザーが項目を再配置できる [編集] ボタンも含まれています。このインターフェイスから再配置できるのは、関連付けられた View Controller がこの配列にある項目のみです。配列が空の場合、またはこのプロパティの値が nil の場合、タブ バーではアイテムを再配置できません。

viewControllers プロパティの値を (直接または setViewControllers:animated: メソッドを使用して) 変更すると、このプロパティの値も変更されます。タブ バー コントローラーに最初に割り当てられると、すべてのビュー コントローラーが既定でカスタマイズ可能になります。

基本的に、値を nil に設定するには、次のコードを使用する必要があります。


- (void)applicationDidFinishLaunching:(UIApplication *)application
{
tabBarController.customizableViewControllers=nil;
}

乾杯、
VFN

于 2010-01-25T15:04:31.700 に答える
1
// 'Move view' customization
// MORE tab bar items 'More view'
- (void)applicationDidFinishLaunching:(UIApplication *)application {
  self.tabBarController.customizableViewControllers=nil;

  UIViewController  * moreController =
  [[self.tabBarController.moreNavigationController viewControllers] objectAtIndex:0] ;
  UITableView * moreTableView = ( UITableView *)  [moreController view];
  [moreTableView setSeparatorColor:[UIColor redColor]];
  [moreTableView setBackgroundColor:[UIColor yellowColor]];
}
于 2011-10-07T17:16:17.413 に答える