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 .
- (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)viewDidAppearBOOL)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.
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 : link text
can anyone help me figure out why is this happening please ? may be I am putting my positioning code in the wrong event ?