У меня была такая же проблема на прошивкой 5.1, используя следующий код:
Создать навигационный контроллер & добавить таблицу вид
UINavigationController *navigationController = [[UINavigationController alloc] init];
[navigationController setModalPresentationStyle:UIModalPresentationFormSheet];
[navigationController setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];
[navigationController.navigationBar setBarStyle:UIBarStyleBlack];
[navigationController.navigationBar setTranslucent:TRUE];
[navigationController setNavigationBarHidden:NO animated:NO];
[self presentModalViewController:navigationController animated:YES];
MyTableViewController *aTableViewController = [[[MyTableViewController alloc] initWithStyle:UITableViewStylePlain] autorelease];
aTableViewController.navigationItem.rightBarButtonItem = buttonItem;
[navigationController pushViewController:aboutTableViewController animated:YES];
Добавить заголовок таблицы Вид на стол
ATableHeaderView aTableHeaderView = [[[ATableHeaderView alloc] initWithFrame:aboutTableView.frame] autorelease];
[aTableHeaderView setAutoresizingMask:UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleTopMargin];
[aTableHeaderView sizeToFit];
[aTableView setTableHeaderView:aTableHeaderView];
Внутри зрения заголовка таблицы я добавил некоторые лейблы
UILabel *aLabel = [[[UILabel alloc] initWithFrame:CGRectMake(x,y, width, height)] autorelease];
[aLabel setText:aString];
[aLabel setAutoresizesSubviews:YES];
[aLabel setAutoresizingMask:UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth];
Я закончил с содержанием заголовка таблицы под навигационной панели. Сменив навигационную панель на сплошную черную, она зафиксировала ее. Но этого я не хотел. После некоторых проб и ошибок я удалил строку:
[aLabel setAutoresizingMask:UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth];
От установки UILabel в заголовке и проблема исправлена. У меня есть полупрозрачный заголовок, и содержимое таблицы позиционируется правильно.
Привет, Ben, мой NIB выглядит следующим образом: http://dl-client.getdropbox.com/u/57676/controller.png. У меня есть UINavigationController, который находится в MainWindow.NIB с установленным корневым контроллером.Все, что я сделал, это добавить tableView для моего представления, UINavigationItem, и надеялся, что это сработает. – Coocoo4Cocoa 2008-11-26 18:08:54