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