Предложение Extends необязательно, как указано в Спецификация языка Java . Если он опущен, класс выводится из java.lang.Object. Это просто вопрос стиля кодирования, чтобы написать его или нет, чтобы записать его в этом случае. Обычно он опускается.
Почему не только используют обычный UIViewController и составляют таблицу вручную?
Я соглашаюсь с ответом Ben. Я часто сталкивался с ситуацией, где я должен изменить размер UITableVIew из-за других средств управления на представлении.
у меня обычно просто есть обычный UIViewController с UITableView IBOutlet. Затем если я должен, я могу просто управлять кадром объекта UITableView для получения его к размеру, в котором я нуждаюсь.
Я не уверен, почему Вы создаете дополнительный контроллер представления для своей таблицы. Однако в Вашем коде, я не вижу, что Вы добавляете табличное представление к его родителю. Вы могли бы также попытаться уменьшить высоту границ до всего этого, появляется на экране; после того как Вы делаете это, это может дать Вам понимание относительно того, почему это не работает способ, которым Вы ожидаете.
Проверьте autoresizingMask и contentMode свойства UITableView. Они могут оба влиять на кадр.
При использовании Интерфейсного Разработчика можно просто перейти к окну свойств "Table View Size" и изменить Нижние Вставки и для Содержания и для Скроллера с высотой другого виджета.
У меня была такая же проблема, и я решил ее, изменив размер tableView в функции viewDidAppear UITableViewController. Не идеальное решение, но оно работает.
У меня была такая же проблема, и я решил ее с помощью:
-(void) loadView {
[self setView:[[[UIView alloc] initWithFrame:CGRectZero] autorelease]];
[[self view] setAutoresizesSubviews:NO];
/* Create & configure table and other views... */
[self setResultsTable:[[RadarTableViewController alloc] initWithNibName:nil bundle:nil]];
[[resultsTable view] setFrame:CGRectMake(0,45,320,200)];
}
Это делается в родительском контроллере (в моем случае это простой UIViewController).