Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 1st, 2012  |  syntax: None  |  size: 2.93 KB  |  hits: 50  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. UITabBarController with a UIPopOverController with Multiple Views
  2. - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
  3. {
  4.     self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
  5.     // Override point for customization after application launch.
  6.  
  7.     UIViewController *viewController1 = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];
  8.     viewController1.title = @"First";              
  9.  
  10.     UIViewController *viewController2 = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
  11.     viewController2.title = @"Second";
  12.  
  13.     UITableViewController *tableView3 = [[tableViewController alloc]initWithNibName:@"tableViewController" bundle:nil];
  14.     tableView3.title = @"Third";
  15.  
  16.     self.tabBarController = [[UITabBarController alloc] init];
  17.     self.tabBarController.viewControllers = [NSArray arrayWithObjects:viewController1, viewController2, tableView3 ,nil];
  18.     self.tabBarController.delegate = self;
  19.     self.window.rootViewController = self.tabBarController;
  20.     [self.window makeKeyAndVisible];
  21.  
  22.     [viewController1 release];
  23.     [viewController2 release];
  24.     [tableView3 release];
  25.  
  26.     return YES;
  27. }
  28.        
  29. #pragma mark - TableView Delegate Methods
  30.  
  31. - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{        
  32.  
  33.     sendFeedback *sendEmailViewController = [[sendFeedback alloc]initWithNibName:@"sendFeedback" bundle:nil];
  34.  
  35.     downLoad *downloadFilelViewController = [[downLoad alloc]initWithNibName:@"downLoad" bundle:nil];
  36.  
  37.     if (indexPath.row == 0)
  38.         [self presentModalViewController:sendEmailViewController animated:YES];
  39.    else
  40.         [self presentModalViewController:downloadFilelViewController animated:YES];
  41.  
  42. }
  43.        
  44. NSInteger index = [[self tabBarController] selectedIndex];
  45.  
  46.     CGRect buttonFrame = [[[[[self tabBarController] tabBar] subviews] objectAtIndex:index+1] frame];
  47.  
  48.     PopOverViewController *popoverView = [PopOverViewController new];      
  49.  
  50.     popoverView.contentSizeForViewInPopover = CGSizeMake(250, 85);
  51.  
  52.     popover = [[UIPopoverController alloc]initWithContentViewController:popoverView];
  53.  
  54.     NSLog(@"X:%f Y:%f",buttonFrame.origin.x,buttonFrame.origin.y);        
  55.  
  56.     [popover presentPopoverFromRect:buttonFrame inView:self.tabBarController.tabBar permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES];        
  57. }
  58.        
  59. PopOverController *popoverContentController = [[PopOverController alloc] init];
  60. UINavigationController *navcon = [[UINavigationController alloc] initWithRootViewController:popoverContentController];
  61. popoverController = [[UIPopoverController alloc] initWithContentViewController:popoverContentController];
  62.        
  63. if (indexPath.row == 0)
  64.     [self.navigationController pushViewController:sendEmailViewController animated:YES];
  65. else
  66.      [self.navigationController pushViewController:downloadFilelViewController animated:YES];