will like to know how to call segue after i show an actionsheet in tabbarbutton.
i did all this in the app delegate, if appdelegate is not a good place to do it. where shall i add those line of code to ?
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController {
NSInteger choice = 1; // --> index of the view controller that should "act as button"
if (viewController == [tabBarController.viewControllers objectAtIndex:choice])
{
UIActionSheet *sheet = [[UIActionSheet alloc] initWithTitle:nil
delegate:self
cancelButtonTitle:@"Cancel"
destructiveButtonTitle:Nil
otherButtonTitles:@"000", @"Car Accident",@"Home",@"Property", nil];
sheet.tag = 0;
sheet.title=@"test";
NSLog(@"tab tab");
[sheet showInView:self.window];
return NO;
}
NSLog(@"YES YES");
return YES;
}
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
if(actionSheet.tag == 0)
{
if (buttonIndex == 0)
{
UIDevice *device = [UIDevice currentDevice];
if ([[device model] isEqualToString:@"iPhone"])
{
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"telprompt:000"]];
} else
{
UIAlertView *Notpermitted=[[UIAlertView alloc] initWithTitle:@"Alert" message:@"Your device doesn't support this feature." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[Notpermitted show];
}
}
else if (buttonIndex == 1)
{
NSLog(@"Car Accident");
//tried to call a segue here.
}
else if (buttonIndex == 2)
{
NSLog(@"YES YES");
}
else if (buttonIndex == 3)
{
NSLog(@"YES YES");
}
}
}
Thanks for reading and comments.
- (void)viewDidLoad
{
[super viewDidLoad];
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
// Do any additional setup after loading the view.
UITabBarController *tabController = (UITabBarController *)appDelegate.window.rootViewController;
tabController.selectedIndex = 0;
tabController.delegate = self;
}
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController {
NSInteger choice = 1; // --> index of the view controller that should "act as button"
if (viewController == [tabBarController.viewControllers objectAtIndex:choice])
{
UIActionSheet *sheet = [[UIActionSheet alloc] initWithTitle:nil
delegate:self
cancelButtonTitle:@"Cancel"
destructiveButtonTitle:Nil
otherButtonTitles:@"000", @"Car Accident",@"Home",@"Property", nil];
sheet.tag = 0;
sheet.title=@"Emergency";
NSLog(@"tab tab");
[sheet showInView:[self.view superview]];
return NO;
}
NSLog(@"YES YES");
return YES;
}
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
if(actionSheet.tag == 0)
{
if (buttonIndex == 0)
{
UIDevice *device = [UIDevice currentDevice];
if ([[device model] isEqualToString:@"iPhone"])
{
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"telprompt:000"]];
} else
{
UIAlertView *Notpermitted=[[UIAlertView alloc] initWithTitle:@"Alert" message:@"Your device doesn't support this feature." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[Notpermitted show];
}
}
else if (buttonIndex == 1)
{
NSLog(@"Car Accident");
[self performSegueWithIdentifier:@"pushToCarView" sender:self];
}
else if (buttonIndex == 2)
{
NSLog(@"YES YES");
}
else if (buttonIndex == 3)
{
NSLog(@"YES YES");
}
}
}