В моем приложении используется панель вкладок с двумя видами навигации, в которых я добавляю пользовательский вид (строку заголовка) между навигационной панелью и табличным представлением.UITableView position
- (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];
....
Когда приложение запускаются с выбранным по умолчанию навигационного вида, я использую (пустоты) viewDidAppearBOOL) анимированные, чтобы установить вид таблицы на более низкое значение Y, так что в строке заголовка видна.
Где Y = 20: 20 - это высота моей строки заголовка.
self.tableView.frame = CGRectMake(0, 20, 320, 347);
Проблема заключается в том, что когда я выбираю строку и нажать подробный вид и скрыть нижнюю панель, чтобы отобразить панель инструментов, все перепутались. Моя высота заголовка увеличивается и становится> 20, что я не могу объяснить, почему.
Теперь, когда я возвращаюсь к главному экрану стола, его Y уменьшается на 20 и прилипает к навигационной панели. Затем заголовок ben появляется над первой ячейкой таблицы.
Если вы нажмете 2 вкладку, а затем вернитесь на 1-ю вкладку, все будет настроено так, как ожидалось.
здесь некоторые фотографии, чтобы проиллюстрировать все, что: link text
может кто-нибудь помочь мне понять, почему это происходит, пожалуйста? Возможно, я помещаю свой код позиционирования в неправильное событие?
Спасибо, что нашли время ответить. Это на самом деле происходит. Это путается по какой-то странной причине, хотя я устанавливаю для нее правильный фрейм, чтобы заполнить весь вид. Но в любом случае я закончил использование представления контейнера для заголовка и представления таблицы и создал представление таблицы вручную без использования UITableViewController. У меня было больше контроля над этим. – HBR