9

I have a Tab Bar app. The app has 8 UITabBarItems and the More button is added automatically. I want to change the title from More to something else.

I have already tried the following:

tabbarController.moreNavigationController.tabBarItem.title=@"Test";

But it still displays "More". No error. No changes.

How can I change the "More" text to another?

Sharjeel Aziz
  • 8,495
  • 5
  • 38
  • 37
tester
  • 103
  • 1
  • 3
  • Why would you want to do that? It has that title for a very good reason. Don't mess with standard behaviour! – Eiko Oct 12 '10 at 20:05
  • 2
    because 'More' is English word. my app is in Turkish lang. i changed my iphone settings to turkish. but it still shows More. i saw some apps that More button's title is in diffirent lang. – tester Oct 12 '10 at 20:15
  • nobody knows? or is it impossible to change More tabbaritem's title? – tester Oct 13 '10 at 18:25

4 Answers4

16

The label under the "More" button is localized for you based on the user's current Locale as specified in their Settings. However, you have to declare your support for that locale in your app's Info.plist.

Add the CFBundleLocalizations key to your application's Info.plist and set its value to an array whose values are the locales for which you want the app to automatically localize system labels. For example, if you want to localize for both English and Japanese, you would add the following entry to the Info.plist:

<key>CFBundleLocalizations</key>
<array>
    <string>en</string>
    <string>ja</string>
</array>
erikprice
  • 6,240
  • 3
  • 30
  • 40
  • This is the correct answer! Worked great, thanks. If Xcode refuses to set CFBundleLocalizations(Localizations) to the type "Array", just change it by opening Info.plist with the "Open As" > "Source Code" option. It's just a weird Xcode bug I guess. – inket Mar 11 '12 at 14:38
  • You can also usually just edit the Info.plist directly in a text editor. In my project it is an XML file. – erikprice Mar 12 '12 at 18:58
  • 1
    Great answer, still perfect in 2015 – vib May 24 '15 at 07:47
  • My French-only app showed "Back" buttons instead of "Retour" in navigation bars everywhere. That fixed it, `CFBundleLocalizations` was not defined in the plist. (Xcode7.0) – Cyrille Oct 23 '15 at 09:14
  • Why it's not working for `Arabic`? I set `ar` in the `Info.plist` file. – Hemang Oct 23 '18 at 05:09
4

I had the same problem - just go to your Info.plist file, and change the "Localization native development region" key to your language. The "more" button title changes automatically. This also auto-changes some other system button titles (eg the "edit" button in the icon order customization toolbar)

Richard
  • 459
  • 4
  • 7
1

Try this:

tabBarController.moreNavigationController.navigationBar.topItem.title = @"new title";

works for me

1

From the documentation:

"The title and image of system tab bar items cannot be changed."

Eiko
  • 25,601
  • 15
  • 56
  • 71
  • 1
    i dont think so. i saw some apps that theirs More buttons title is different. i already changed More buttons image. but i cannot change Title. for image: NSArray *array= tabbarController.tabBar.subviews; UIBarButtonItem *more=[array objectAtIndex:4]; [more setImage:[UIImage imageNamed:@"tabIcon_mais.png"]]; [more setTitle:@"Mais"];// this line doesnt work – tester Oct 18 '10 at 09:43