2012-05-25 16 views
0

По какой-то причине это не возможно для меня, чтобы отрегулировать высоту UITableView внутри моего контроллера, в моем viewDidLoad я это сделал:Установите высоту UITableView

[self.tableView setBounds:CGRectMake(0.0f, 0.0f, 320.0f, 100.0f)]; 
[self.tableView setFrame:CGRectMake(0.0f, 0.0f, 320.0f, 100.0f)]; 

self.tableView.bounds = CGRectMake(0.0f, 0.0f, 320.0f, 100.0f); 
self.tableView.frame = CGRectMake(0.0f, 0.0f, 320.0f, 100.0f); 

Я просто попытался каждый вариант, но ничто не меняет высоту моего стола.

+0

Это один из плюсиков, это может изменить ситуацию? –

+0

Это, я могу делать все, что я хочу, кроме изменения размеров, это, например, отлично работает: self.tableView.backgroundColor = [UIColor clearColor]; –

+0

Когда я выхожу из значений, он дает мне правильные значения. Я устанавливаю программно, потому что позиция и высота основаны на высоте другого вида, но в примере я просто использовал статические значения. –

ответ

2

UITableViewController автоматически отобразит полный экран таблицы.

Взятые из View Controller Programming Guide:

Примечание: Вы должны использовать подкласс UIViewController, а не подкласса UITableViewController управлять видом таблицы, если представление управляться состоит из нескольких подвидов, один из который представляет собой табличный вид . Поведение по умолчанию для класса UITableViewController - , чтобы сделать представление таблицы заполняющим экран между навигационной панелью и панель вкладок (если они есть).

+0

Ну, я не знаю, что сказать, но используя это только что сработало: _updates.tableView.frame = CGRectMake (0.0f, 75.0f, self.view.frame.size.width, self.view.frame.size .hight - 75); –

+0

Хотя это может сработать сейчас, я не буду рассчитывать на это поведение в будущем, поскольку оно может сломаться в любое время, так как Apple конкретно говорит, что вы не должны использовать 'UITableViewController' в этой ситуации. – lnafziger

0

Используйте UIViewController и добавьте UITableViewController в качестве контроллера детского вида. Затем вы можете добавить вид UITableViewController в качестве подзаголовка к вашему UIViewController и установить рамку по своему желанию. Вы можете использовать UIViewController для управления остальными элементами пользовательского интерфейса и UITableViewController для управления таблицей.

Обратите внимание, что этот метод использует контейнеры UIViewController, который является функцией iOS 5.

Смежные вопросы