Am stuck up in implementing facebook slide menu kind of view using ECSlidingViewController source code [https://github.com/edgecase/ECSlidingViewController] for my requirement.
My need is: I have a loginScreen and then next is a UITabBarController with 5 tabs. When I click on the 2nd tab, I need this 2nd tab VC to act as a central VC with a UIBarButtonItem on the RIGHT side of Nav Bar. When I click on the UIBarButtonItem I need facebook kind of sliding view to appear. Please let me know how do I integrate this. This should be done in Storyboards.
Your second tab can be a reference to ECSlidingViewController. Your view controller relationships would look something like this:
UITabBarController's second tab -> ECSlidingViewController
ECSlidingViewController's topViewController -> UINavigationController
ECSlidingViewController's underRightViewController -> a view controller your users will see when the top view is anchored to the left
UINavigationController's rootViewController -> some view controller your users will see as the second tab
You can setup a right bar button item on the navigation controller to anchor the top view to the left.
Related
I am creating an iOS application where I need to add a SideMenu and a UITabBarController, SideMenu and UITabBarController there purpose is to let the users navigates between different ViewControllers, I have 3 tab bar items in UITabBarController and in the SideMenu I have 5 items, when the user click on an item in the side menu I have to show the corresponding view controller
Question:
It's possible to add a ViewController without a TabBarItem to the UITabBarController, when the user click on the side menu item, I trigger the UITabBarController to select the corresponding view controller, or its not possible in UITabBarController I need to find another solution, if so please advice which solution is better.
In the picture above, These are my viewcontrollers but I need to hide the tab bar item for the last view controller and keep the UITabBarViewController behave normally when I programmatically select the last view controller from the side menu
If the ViewController of the side menu is different than the TabBar. You can PUSH the view directly in the controller that is selected in the tabbar in that moment.
In the bottom left viewcontroller i have a searchbar at the top that call the tableview at the top , the problem is that i want to segue to the right viewcontroller with detail of it, but of course i'm losing my navigationController so when i'm into the right viewcontroller i can't go back anymore, how should i do to go back to my original Viewcontroller ?
Add Navigation Controller as the starting view in storyboard. And then Link RootViewController to it. This will ensure navigation bar in all the views coming next.
you may hide navigation bar in the view where not needed as
self.navigationController?.isNavigationBarHidden = true
push newViewController instead of presenting
Also please check, if you are presenting it modally. Modal segues take over the whole screen, so any navigation bars, tool bars, or tab bars that are in the presenting controller will be covered up. If you want a navigation bar on this modal controller, you'll need to add one specifically to it, and add any buttons you want to that new navigation bar (or tool bar). If you don't want to do this, then don't present it modally, do a push to it.
I have a tab controller in which five viewControllers are there. I even have a side menu bar which has the list of other viewControllers . My problem is when i try to click any list to move to viewController it get pushed over the screen, hiding the tab bar at the bottom. How can i show the tab bar at bottom for this scenario. I got some ideas but it dint helped.
You need to make sure that your tab bar controller is you root view controller.
Your story board should look like
tabbarController -> NavigationController -> VC1 -> VC2
Your VC1 to VC2 segue has to be a show segue, not a present modally because the second one makes V2 the root view controller.
I want to add a tab bar with three options (Home) the first view, (Incidences) with the second view, and (Info) with the third view, in the first view I have 2 buttons that shows the second and the third view.
What I have to do to add tab bar with these 3 tabs, always visible in the App?
I have this structure now:
New project -> Tabbed Application.
Replace the First and Second Views with your viewControllers. There will be no need for your left hand side view as the tabs will be your buttons
Each UIViewController in UITabBarController could be embedded in an UINavigationController at your convenience, that way you'll be able to use all of the features that you need.
Apple guideline for Tabbar: Tab Bar Controllers
Basically, you need to select the View Controller of (associated with) Tab Controller ▶ click on Editor menu item ▶ select Embed in and click on Navigation Controller
For correct flow of navigation using tabbar you need to bind tabbar
controller with View Controller first and then embed navigation
controller to tabbar. Similar way you can also embed navigation
controller to tabbar controller, but its not the correct flow.
I am wondering if it is possible to have a view controller in an iOS app that has a tabbar # the bottom with links to other view controllers but no tab for the current view itself?
Ideally what I would like to do is have a view controller A with a tab bar to views B and C. When navigating to page B or C you would see the B/C tab selected in the tab bar. When navigating back to controller A you would not see the tab bar, but once navigating back to view B/C it would show again.
Not that should matter but I am using Xamarin for development.
You should be able to. You add a UITabBar to ViewA. You can then add ViewB and ViewC as UITabBarItems to the UITabBar.
You would need a button in ViewB and ViewC that leads back to View A to get back to it (since ViewA will not be listed in the tab bar).
You can NOT use a UITabBarController for this. UITabBarController does not allow for customizing the UITabBar like this.