Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

open viewcontroller from tab like in instagram camera page on IOS

what i want is suppose to be simple, instagram middle tab on IOS opens the app's camera interface but not like the rest of the tabs but as an independet view controller and when you press cancel it gets back to the last tab youv'e been.

any ideas??

like image 952
aviv_elk Avatar asked Feb 11 '23 01:02

aviv_elk


2 Answers

Edit: In order for this code to work you'll need to subclass UITabBarController and implement the UITabBarDelegate. So you'll add something like this:

@interface MyTabsViewController : UITabBarController <UITabBarDelegate>

In Interface Builder you'll need to set the tags of your tab items to whatever you need them to be:

enter image description here

And now you can do something like this:

-(void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
{
    if(item.tag == 1)
    {
        [self presentViewController:myVC animated:YES completion:nil];
    }
    else if(item.tag == 2)
    {
       //your code
    }
}

This will allow you to get the tapped event for each of your tab bar items and do add some custom code, you just need to add the appropriate tags to your tab buttons in interface builder. For example, you could add code to show your own view controller as shown above.

Hope that helps!

And here's another link: How can i get Tabbar Item Button's Click event by clicking on TabbarItem button?

like image 124
erparker Avatar answered Mar 02 '23 01:03

erparker


Sounds like what you're trying to do involves a TabBarViewController. You can start a project off by choosing this option from the Xcode welcome screen to create a new project:

enter image description here

enter image description here

This "Tabbed Application" starter project will give you a fully functional and running app you can build from.

The way you're describing the tab bar controller in Instagram sounds like you'll have to do a couple customizations to your tab bar controller. First, the camera tab in the middle has a blue background. Try this SO article to help with that.

When you hit the cancel button on the camera page and you want the last selected tab to be selected use this method as a starting place to programatically select a certain tab:

[self.tabBarController setSelectedIndex:2];

Hope this gets you started in the right direction.

like image 31
Ethan Parker Avatar answered Mar 01 '23 23:03

Ethan Parker