- UITabBarController with a UIPopOverController with Multiple Views
- - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
- {
- self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
- // Override point for customization after application launch.
- UIViewController *viewController1 = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];
- viewController1.title = @"First";
- UIViewController *viewController2 = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
- viewController2.title = @"Second";
- UITableViewController *tableView3 = [[tableViewController alloc]initWithNibName:@"tableViewController" bundle:nil];
- tableView3.title = @"Third";
- self.tabBarController = [[UITabBarController alloc] init];
- self.tabBarController.viewControllers = [NSArray arrayWithObjects:viewController1, viewController2, tableView3 ,nil];
- self.tabBarController.delegate = self;
- self.window.rootViewController = self.tabBarController;
- [self.window makeKeyAndVisible];
- [viewController1 release];
- [viewController2 release];
- [tableView3 release];
- return YES;
- }
- #pragma mark - TableView Delegate Methods
- - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
- sendFeedback *sendEmailViewController = [[sendFeedback alloc]initWithNibName:@"sendFeedback" bundle:nil];
- downLoad *downloadFilelViewController = [[downLoad alloc]initWithNibName:@"downLoad" bundle:nil];
- if (indexPath.row == 0)
- [self presentModalViewController:sendEmailViewController animated:YES];
- else
- [self presentModalViewController:downloadFilelViewController animated:YES];
- }
- NSInteger index = [[self tabBarController] selectedIndex];
- CGRect buttonFrame = [[[[[self tabBarController] tabBar] subviews] objectAtIndex:index+1] frame];
- PopOverViewController *popoverView = [PopOverViewController new];
- popoverView.contentSizeForViewInPopover = CGSizeMake(250, 85);
- popover = [[UIPopoverController alloc]initWithContentViewController:popoverView];
- NSLog(@"X:%f Y:%f",buttonFrame.origin.x,buttonFrame.origin.y);
- [popover presentPopoverFromRect:buttonFrame inView:self.tabBarController.tabBar permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES];
- }
- PopOverController *popoverContentController = [[PopOverController alloc] init];
- UINavigationController *navcon = [[UINavigationController alloc] initWithRootViewController:popoverContentController];
- popoverController = [[UIPopoverController alloc] initWithContentViewController:popoverContentController];
- if (indexPath.row == 0)
- [self.navigationController pushViewController:sendEmailViewController animated:YES];
- else
- [self.navigationController pushViewController:downloadFilelViewController animated:YES];