2010-08-18 2 views
0

В моем приложении используется панель вкладок с двумя видами навигации, в которых я добавляю пользовательский вид (строку заголовка) между навигационной панелью и табличным представлением.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

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

ответ

0

Возможно, что фон для всего черного цвета, а табличное представление движется вниз, выставляя фон, в отличие от черного titleBar, фактически увеличивающегося в размере? Это имеет смысл, учитывая, что проблема исчезает, когда tableView перемещается назад.

+0

Спасибо, что нашли время ответить. Это на самом деле происходит. Это путается по какой-то странной причине, хотя я устанавливаю для нее правильный фрейм, чтобы заполнить весь вид. Но в любом случае я закончил использование представления контейнера для заголовка и представления таблицы и создал представление таблицы вручную без использования UITableViewController. У меня было больше контроля над этим. – HBR