странное поведение нижнего колонтитула tableView - PullRequest
0 голосов
/ 02 августа 2009

Учитывая : у меня есть немного «всплывающего» представления, которое я помещаю поверх своего tableView в своем UITableViewController. Я положил это так:

[self.navigationController.view addSubview:self.hoverView]; 

Проблема : я не вижу этот hoverView, когда добавляю представление нижнего колонтитула tableView. Казалось бы, не связано да?

self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 50)];
[self.tableView.tableFooterView addSubview:someLabel];

Они кажутся взаимоисключающими. Я могу иметь одно, но не другое. Чтобы увидеть, что происходит, я печатаю описания подпредставлений примерно так:

for (UIView *sub in self.navigationController.view.subviews)
{
    NSLog([sub description]);
}

Когда добавляется представление нижнего колонтитула таблицы, этот код ничего не печатает. В противном случае я вижу ожидаемый вывод некоторых внутренних представлений navigationController. Что я пропустил?!

1 Ответ

1 голос
/ 02 августа 2009

Не добавляйте hoverView в представление UINavigationController. Вместо использования UITableViewController, используйте UIViewController, представление которого содержит UITableView в качестве подпредставления. (См. здесь для получения подробной информации о том, как реализовать остальную часть функциональности UITableViewController в вашем UIViewController). Затем добавьте ваш hoverView к этому представлению, то есть сделайте его родным UITableView, но более поздним, так что он появится над ним.

Это может не решить вашу проблему, но я бы сказал, что это ваша лучшая ставка: UINavigationController не предназначен для непосредственного управления его представлением, он предназначен для того, чтобы контроллеры представления помещались в его стек и соответственно добавляли подпредставления в его представление. 1005 *

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