Cocoa-Touch: UITableView не изменяет размер - PullRequest
0 голосов
/ 21 октября 2009

У меня есть приложение, которое имеет верхнюю панель навигации и нижнюю панель вкладок.

На одной из вкладок отображается XIB-файл таблицы с моим пользовательским контроллером.
Этот UITableView создается классом MyTableViewController.

У меня проблема с размером стола. Размер фрейма таблицы плохой (это полноэкранный размер iphone, без учета размеров состояния / вкладки / панели навигации), однако его размещение хорошее (начинается под панелью навигации).

В XIB таблицы (которая является отдельным XIB-файлом, содержащим только таблицу), я попытался установить и удалить верхнюю / нижнюю (nav / tab) полосы, чтобы изменить размер таблицы.
Это не помогло.

Затем я попытался настроить его из контроллера:

- (void)viewDidLoad {
    self.view.frame = CGRectMake(0, 20, 320, 270); // a lot shorter than I need it, but just to prove the point
    [super viewDidLoad];
}

Я установил там точку останова, и фактически вызывается viewDidLoad, но таблица того же размера.

Что я делаю не так?

Ответы [ 2 ]

2 голосов
/ 21 октября 2009

Убедитесь, что у вас есть «Пружины и распорки» (меню «Инструменты»> «Инспектор размеров») в Интерфейсном Разработчике, так что это правильно развернутое / сжатое представление. Скорее всего, это будет означать 4 сплошные красные линии вокруг коробки и две внутри (пунктирные линии не видны).

1 голос
/ 22 октября 2009

Что если вы вызовете [super viewDidLoad] перед установкой фрейма. Поскольку вы загружаете свой вид из XIB, возможно, что [super viewDidLoad] переопределит ваш self.view.frame = ...

- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.frame = CGRectMake(0, 20, 320, 270); // a lot shorter than I need it, but just to prove the point
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...