I am developing a UINavigationController based app where one of the view i am presenting is modal where i need a navigation bar which i have manually added but problem is the statusbar and navigation bar colors are different and both are translucent though, is there a way to set both same the way they appear on UINavigationController?
OK finally I think this is what i had to do ,
on presenting the view modally I am loosing the transluscent status bar instead get a transparent status bar,and also required to add my own navigation bar,thats how ios7 handles the status bar now, what i did is I wrapped the modally presented view into a navigation controller and then presented it , no changes i was required to do in segues just embedded the modal view controller in a navigation controller.
To embed a view in navigation controller in storyboard , just select the view go to Editor menu and select embed in-> navigation controller option.
Related
I'm updating an App to support iOS7. I have a Tab control with a number of tabs - several table views and one UI view. The strange thing is that IF the Navigation bar in the top is translucent, it has a different appearences depending on whether the tab control shows a table view or the UI view. The navigation bar seems to always be opaque when the UI view is selected.
Unchecking "Extend Edges - [ ] Under top bar" in the table views also make the navigation bar the same color for all views.
So the question boils down to that the navigation bar for the UI view doesn't seem to be translucent?
Set the navigationBar to be translucent in your viewDidLoad method:
self.navigationController.navigationBar.translucent = YES;
I want to create a custom navigation bar like that
Here is a default translucent navigation bar. I want to add a new view with the same background color as in the navigation bar below the navigation bar. But i don't know what is the actual colour of the navigation bar. Or maybe there is other way to create a custom navigation bar.
Update
I need different presentations of a navigation bar for different view controllers inside one navigation controller. Also a navigation bar should have different functionality for different controllers, that is why I don't think that subclassing a UINavigationBar is a good idea.
I found the answer in this answer. I removed a bottom border from a navigation bar, placed a blur view below the navigation bar and added a bottom border to it.
I have the following situation: I begin with a login screen (which I want to have no toolbars or tab bars.) After the user has logged in, I want to display a tab bar with multiple options each of which can drill down into their own view hierarchy. Thus it is necessary for each of these tabs to have navigation controller capabilities.
Thus, the most immediate solution would be to have a tab bar controller and then have each section (3 in total) have their own navigation controller. However, the issue is that I want each page in the entire app to have a logout button which will bring them back to the very first screen.
I could have segues from every page's logout button back to the beginning but this seems wrong. I could also put the tab bar controller inside the navigation controller; however I've heard that navigation controllers should always be inside tab bar controllers and never the other way around.
Any suggestions
If the root view controller for each UINavigationController is the login screen, why not just make a logout button assigned to self.navigationItem.rightBarButtonItem for each appropriate view. When clicked, it can call your logout function and then popToRootViewControllerAnimated: to take you back to the login screen.
You can use setNavigationBarHidden:animated: in any view you want or don't want the navigation bar to be shown.
Present your "login" screen as a modal view controller on top of your tab bar controller of navigation controllers. Anytime you logout from anywhere in the app you present a new modal login view and can then reset the state of your other controllers while they are no longer visible. On login you dismiss the modal and reveal the tab bar controller and whatever it contains.
Just like the Dropbox app for iPad I want to add Tabbar in the main view controller of splitview.. wondering what is the best way to achieve this?
Checkout the screen grab of ipad dropbox app... I am referring to the tabbar used on bottom left.
Select the Navigation Controller of your Split View Controller in Xcode and in the properties panel it will give you checkboxes to enable/disable top navigation bar and bottom toolbar for it (Dropbox app in your screenshot have both, so you should check both of them if you need the same layout).
In my app I have a navigation back button which occupies the top left of the navigation bar as such. Now I have a requirement to make the view in the navigation stack a split view. I'm doing my own custom split view controller. Now the question arises in the portrait mode of this split view. I want it to have the default popover behavior in portrait mode (like Apple's splitview in portrait). Can I manually set the location for the popover button on the navigation bar to some place other than top left without violating any UI guidelines? Since the back button is on top left corner by default already. I read over the UI guidelines but could not find anything concrete relating to this issue. Can the popover button be placed anywhere on the navigation bar for the portrait mode of my custom split view?
Thanks!
Yes, it can be done. As you said, there is no strict rule over placement of the pop-over in portrait mode.
This app uses custom split view and the placement of the button to display the navigator (inside a popover) in portrait mode varies on what view controller it is currently displaying. Whether it is the root of the navigation or if it is the view controller pushed over the navigation controller.