0

My UITabBarController's tabBar is slightly off the view, please can you tell me what is wrong with my code:

LoggedInViewController *lvc = [[[LoggedInViewController alloc]
                               initWithAccount:account] autorelease];
[self presentModalViewController:lvc animated:YES];

- (void)viewDidLoad
{
    self.tabController = [[UITabBarController alloc] init];
    LoggedInFeedNavigationController *navController;
    navController = [[LoggedInFeedNavigationController alloc]
                     initWithAccount:self.account];
    [self.tabController setViewControllers:
        [NSArray arrayWithObject:navController]];
    [self.view addSubview:self.tabController.view];
    [super viewDidLoad];
}
e.James
  • 116,942
  • 41
  • 177
  • 214

1 Answers1

0

You are adding the tabController view as a subview, but you have not specified where it should be located within its parent view, or how it should be resized when the parent view changes size. Try the following:

- (void)viewDidLoad
{
    [super viewDidLoad]; // see note

    self.tabController = [[UITabBarController alloc] init];
    LoggedInFeedNavigationController *navController;
    navController = [[LoggedInFeedNavigationController alloc]
                      initWithAccount:self.account];
    [self.tabController setViewControllers:
        [NSArray arrayWithObject:navController]];

    UIView *tabView = self.tabController.view;
    [self.view addSubview:tabView];

    tabView.frame = self.view.bounds;
    tabView.autoresizingMask = (UIViewAutoresizingFlexibleWidth |
                                UIViewAutoresizingFlexibleHeight);
}

Note: you are not required to call [super viewDidLoad], but if you do decide to call it, you should call it at the beginning of your viewDidLoad method, and not at the end.

Community
  • 1
  • 1
e.James
  • 116,942
  • 41
  • 177
  • 214