Заголовки разделов uitableview, идущие под навигационной панелью, только в случае прозрачности на iOS3 - PullRequest
2 голосов
/ 15 ноября 2010

У меня почти такая же проблема, как у прокрутка UITableView под панелью навигации , но я публикую это как новый вопрос, так как у меня есть некоторые дополнительные особенности.

У меня полноэкранная таблица(с разделами) на странице с черной панелью навигации.Это в UIViewController, так как у меня есть некоторые представления, наложенные сверху, поэтому таблица создается программно, таким образом;

- (void)viewDidLoad {

  [super viewDidLoad];

   self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
   self.navigationController.navigationBar.tintColor = nil;
   self.navigationController.navigationBar.translucent = YES;

   tableView = [[UITableView alloc] initWithFrame:[[UIScreen mainScreen] bounds] style:UITableViewStylePlain];
   tableView.delegate = self;
   tableView.dataSource = self;
   [tableView setContentInset:UIEdgeInsetsMake(44,0,0,0)];

   [self.view addSubview:tableView];
   [tableView release];
}

Моя проблема в том, что, хотя это прекрасно работает на iOS4 - в том, что заголовки разделов донижняя часть полупрозрачного табличного представления при прокрутке, на iOS3 заголовки вместо этого встают до нижней части строки состояния: (

Если я установил для полупрозрачного свойства значение NO и удалил contentInset, он работает идентично и правильнов обеих операционных системах.

Кроме этого, поведение правильное, я хочу, чтобы содержимое таблицы прокручивалось вверх за полупрозрачной панелью навигации, но я также хочу, чтобы заголовки разделов останавливались под панелью навигации, поэтомуони полностью видны.

Это то, что должно работать одинаково для iOS3 и iOS4? Есть идеи, что я могу делать неправильно?

Спасибо, Роджер

1 Ответ

0 голосов
/ 26 октября 2011

попробуйте установить для фрейма таблицы вида таблицы self.view.bounds

Я предполагаю, что [[UIScreen mainScreen] bounds] имеет высоту 480 пикселей (со строкой состояния).

ps в качестве другого варианта попробуйте установить self.wantfullscreenlayout = NO;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...