iPhone: прокрутка UITableView в панели вкладок - PullRequest
0 голосов
/ 13 ноября 2009

У меня есть UITableView, и я не могу понять, как правильно выбрать размер.

Мое приложение основано на шаблоне Tab Navigator. Представление одной вкладки загружает NIB, который содержит контроллер навигации. У корневого контроллера представления Навигационного контроллера его класс установлен в UITableViewController, у которого нет соответствующего NIB. UITableViewController объявлен как:

@interface MyRootViewController : UITableViewController <UITableViewDelegate, UITableViewDataSource> {

Проблема в том, что табличное представление не «заканчивается» в нужном месте экрана. При прокрутке до конца панель вкладок обрезает примерно половину текста в последней ячейке:

альтернативный текст http://img.skitch.com/20091113-djd5ib5uktnc8gqq5e7798cqjb.png

У всех файлов NIB (для представления в Навигаторе вкладок и в Навигационном контроллере) Нижняя панель имеет значение «Панель вкладок» в разделе «Элементы имитированного интерфейса».

Я пробовал несколько вариантов установки нового CGRect для self.view.bounds в методах viewDidLoad UITableViewController, до и после вызова super, но безрезультатно.

Есть идеи, чего мне не хватает или с чего начать?


Вот мой текущий viewDidLoad (за исключением нескольких совершенно не связанных строк):

- (void)viewDidLoad 
{
    self.title = @"Table View Controller";


    CGRect frame = self.tableView.frame;
    NSLog(@"Frame height: %d", frame.size.height);
    frame.size.height -=100;
    [self.tableView setFrame:frame];

    [super viewDidLoad];

}

Бит CGRect, похоже, ничего не делает, и вывод журнала «Высота кадра: 0»

Ответы [ 3 ]

1 голос
/ 13 ноября 2009

попробуйте

CGRect frame = self.tableView.frame;
frame.size.height -= 50; //play around this value
[self.tableView setFrame:frame]; 
0 голосов
/ 15 ноября 2012

Попробуйте установить фрейм для табличного представления в viewWillAppear: фреймы все еще не определены в viewDidLoad.

0 голосов
/ 23 января 2010

вы должны поставить NSLog (@ "Высота кадра:% f", frame.size.height); вместо% d NSLog может напечатать номер, отличный от 0

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