Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

hatembr

macrumors newbie
Original poster
Aug 18, 2010
2
0
hi,

my app uses a tab bar with 2 navigation based views in which I am adding a custom view (a title bar) between the nav bar and the table view .

Code:
- (void)viewDidLoad {
    [super viewDidLoad];
	
	// load title bar controller
	TitleBarViewController *tbar = [[TitleBarViewController alloc] init];
	[tbar setTitleImage:[UIImage imageNamed:@"v2-une.png"]];
	[self setTitleBar:tbar];
	[tbar release];
	
	// show title bar
	[self.navigationController.view addSubview:self.titleBar.view];
....


When the application is launched with a default selected nav view, I use (void)viewDidAppear:(BOOL)animated to set the table view to a lower Y value so that the title bar is visible.

Where Y = 20 : 20 is the height of my title bar.

Code:
self.tableView.frame = CGRectMake(0, 20, 320, 347);

The problem is that when I select a row and push a detail view and hide the bottom bar to display a toolbar, things are messed up.
my title bar's height increases and becomes > 20 which I can't explain why.

Now when I go back to the main table view, its Y is decreased by 20 and sticked to the nav bar. My title ben then appears above the first cell of the table view.

If hit the 2 tab and then go back to the 1st tab, everything is re arranged like expected.

here are some pics to illustrate all that :
step1.png



can anyone help me figure out why is this happening please ?
may be I am putting my positioning code in the wrong event ?
 

PhoneyDeveloper

macrumors 68040
Sep 2, 2008
3,114
93
Are you using a UITableViewController?

I recommend that you not add your title bar to the navbar. Instead have a container view that holds the title bar and the table view. You need to use a UIViewController subclass instead of UITableViewController in this case. The container view will be the view controller's view property. You'll have more control in this way.
 

hatembr

macrumors newbie
Original poster
Aug 18, 2010
2
0
thank you for answering PhoneyDeveloper.

yes I use a UITableViewController. Everything is designed in IB.

can your suggestion be done in IB or do I have to do it programmatically ?
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.