I'm using TabBarController and I have more than 10 View Controllers in it (that's why I can see "More" tab, where I can access the rest of the views). My question is:
Is there any way to change the title of the "More" tab bar? (I know how to change the title of the view:
tabBarController.moreNavigationController.navigationBar.topItem.title = #"SuperMore";
but I would like to change the text on the bar itself. Is it possible, anyway? ;-)
Big thanks in adv.
Charles
There is no way to change this using the API. If you really want to change it, just create your own icon with your own text for the 5th tab bar item. You will then implement your own Table View Controller for the tab which will duplicate the default "More" tab. It will be difficult to re-implement if you wish to include reordering/customization of the tabs, but if you are fine with locking them in, it should not be too difficult.
Related
I am working on a mobile version for my company's web app. The structure of this application requires uitableviews with a tab bar on the bottom and a navigation bar up top to return to the previous view. As you drill down in the application the tab bar items change at each level allowing selection of different views pertaining to that specific level in the app. I need a way to implement this with a navigation bar on top that navigates back to the previous screen on every tab in said tab bar when a back button is clicked on any of the tabs.
for example: let's say i start out with an items tab and a simple about tab. When i click items it drills down to a new view called subitems and the tabs for this view are subitems, favorites, details, and notes. I want the navigation bar to go back to the previous screen when i click the back button on any one of these four tabs.
Is this at all possible? I can't seem to find anything related to this type of structuring within an app. any help/examples would be greatly appreciated.
I know that a negative answer always sounds bad, but I tried to do the same a few months ago and I could not find a way of doing it using the standard UITabBarController/UITabBar. Take also a look at this question/answer.
The good news is that it is not that difficult to implement from scratch a tab bar controller that can be pushed on a navigation stack. There are also several examples around, one is BCTabBarController. GtabBar is another example.
I actually found a way to do it you just have to implement the navigation bar's leftbarbuttonitem instead of the traditional back button. Then I just created a method that is invoked when the back button is pushed this updates the navigation stacks of all four views within the tab bar and sets the tab bar items accordingly to match with the previous views we are navigating back to. . . so long story short...it is possible.
I am working on a project which involves both kind of applications ie Navigation based and Tab based. All things are working perfectly. But what I want is, when I click on a particular tab then a button must be added to the navigation bar at the top to edit the table below it. I am able to draw the button but it is not affecting the tableview below it. When I do this in navigation based application it works perfectly. But it does not work in tab based.
So please tell me the way to add button at navigation bar in UI tab based application which appear only at particular tab.
tell me the sample code or any tutorial for it.
For each tab embed a UINavigationConrtoller, and your own view controllers in them.
This way each tab will have its own navigation bar, and thus can have their own sets of bar items, titles, etc.
You generally never want to embed a UITabBarController in a UINavigationController, always the other way around.
I want to create a Tab in the TabBarController but i don't want to show that on the tabBar...i mean it should be there but invisible...
like I have 5 tabs in my tabBarController and I want that my fifth Tab only is invisible...
is this possible??
There's no way to hide an individual tab. You could give it a blank icon, I suppose, but you'd still see the space where the tab is. If you had more than 5 tabs, you could arrange for this invisible tab to be on the More... tab item, so it wouldn't be immediately visible but the user could access it.
If you don't want the user to be able to access it, one has to wonder why you want to include it in the tab bar controller in the first place. Rememeber: when you find yourself fighting against the framework like this, there's usually a much better way to do what you're trying to do.
Not really—the tab-bar controller is pretty specifically implemented so that any view controller it manages can be accessed from the tab-bar UI somehow, be it on the bar itself or in the “More” section. What are you trying to accomplish?
Would I violate the HIG by showing a tab bar on my first view only? The first view also has a tableview and navigation bar at the top. Once the user selects a row, it goes to another tableview and no tab bar. The navigation bar is still at the top and the user can go back. Clicking a row from here displays the detail view. In summary, the tab bar will only be available on the first view.
-- EDIT --
Technically, I know how to do this. But from the HIG and user point of views, I'm not sure about it. The tab bar is only needed on the first view to reach the in app purchase store. Guess this really constitutes a redesign where I have a new button on the first view? My navigation bar has just enough room for it in the top right.
I have done this too in my application and it has been approved without any issues. Besides, it is supported by UIKit, so I don't see any reason why it should be a problem. It's even perfectly logical to hide the tab bar when drilling down into a table.
I'd say go for it!
Yes, this can be done. Just push the tab bar controller on the nav bar and it will work like you described, though it might feel awkward to some users.
The iPod app does this, so I'd say it's okay.
I am using a tab bar (UITabBarController) on my app and I wish to have more than 20 different views to choose from.
If there are more than 5, "More" menu appears. I can access any of my views from "More" menu but I have problems with customizing my TabBar with "Configure" (Edit) navigation bar. I can see only 20 first view icons and I can't scroll the view any direction. Icon with numbers 21 or higher are unavailable in "Configure" (Edit) navigation bar
Is there a way to scroll up and down (or left and right) to be able to customize TabBar with all of my view icons? Is there the other way to customize "Configure" (Edit) navigation bar to get access to all view icons?
Looks like there is no solution for this :( except creating your own UITabBarController.
This is a limitation of the controller provided by Apple, but you can work around this problem as follows:
Catches the action of the edit button and replace it with your own action that aims to display a custom screen that plays differently the sort action.
I have done this way in my applications, when I had the need.