【问题标题】:Xcode: Loading TabBarItem titles after orderingXcode:订购后加载 TabBarItem 标题
【发布时间】:2011-11-08 06:44:01
【问题描述】:

我正在使用这个 [tutorial] 来保存用户自定义的 TabBarItems 订单,因为我的应用有超过 5 个标签

本教程的概念是将 TabBarItem 标题保存在 NSUserDefault 中,并在下次打开应用时加载它们。

它非常适合英语,因为我的 TabBarItem 标题最初是在 XIB 文件中设置的

但问题是,当我的应用程序的其他语言被加载时,TabBarItem 标题在启动应用程序时更改为所选语言

因此,当标题在重新排序 TabBarItems 为与 XIB 文件中设置的标题不同的语言后保存时,下次启动应用程序时根本不会加载 TabBarItem!我认为我使用的教程仅适用于 TabBarItem 标题与 XIB 文件中定义的 TabBarItem 标题相同时,而不是当这些 TabBarItem 标题基于应用程序语言以编程方式更改时!

- (void)applicationWillTerminate:(UIApplication *)application {
  NSMutableArray *savedOrder = [NSMutableArray arrayWithCapacity:tabController.viewControllers.count];
  NSArray *tabOrderToSave = tabController.viewControllers;
  for (UIViewController *aViewController in tabOrderToSave) {
    [savedOrder addObject:aViewController.tabBarItem.title];
  }
  [[NSUserDefaults standardUserDefaults] setObject:savedOrder forKey:@"savedTabOrder"];
}

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  [self setTabOrderIfSaved];
}

- (void)setTabOrderIfSaved {
  NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
  NSArray *savedOrder = [defaults arrayForKey:@"savedTabOrder"];
  NSMutableArray *orderedTabs = [NSMutableArray arrayWithCapacity:tabController.viewControllers.count];
  if ([savedOrder count] > 0 ) {
    for (int i = 0; i < [savedOrder count]; i++) {
      for (UIViewController *aController in tabController.viewControllers) {
        if ([aController.tabBarItem.title isEqualToString:[savedOrder objectAtIndex:i]]) {
          aController.tabBarItem.title = NSLocalizedString(aController.tabBarItem.title, nil);
          [orderedTabs addObject:aController];
          }
        }
     }
     tabController.viewControllers = orderedTabs;
  }
}

【问题讨论】:

    标签: xcode4 uitabbaritem


    【解决方案1】:

    尝试改用tabBarItem的标签属性。

    aController.tabBarItem.tag
    

    【讨论】:

      猜你喜欢
      • 2018-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-21
      • 2012-06-16
      • 1970-01-01
      相关资源
      最近更新 更多