2013-04-10 3 views
0

Я добавил UILabel и UITableView в UIViewController с использованием конструктора интерфейсов и размером tableView под этикеткой. Я также подключил UITableView к объекту, но при его запуске на обоих устройствах и тренажере tableView покрывает весь UIViewController, скрывая UILabel. Также я проверил, что свойство подключено правильно, потому что я могу изменить цвет фона UITableView через него. Пожалуйста, кто-нибудь здесь может помочь мне исправить это. БлагодаряКак изменить размер UITableView внутри UIViewController

-(void) viewWillAppear:(BOOL)animated 
{ 
    [super viewWillAppear:animated]; 
    self.pTableView.frame = CGRectMake(0, 50, 320, 100);  // Doesn't work 

    self.pTableView.backgroundColor = [UIColor redColor];  // Works 
} 
+0

Попробуйте добавить некоторые отладки 'NSLog' сообщения, распечатывать размеры кадра в обоих' viewWillAppear 'и' viewDidAppear'. – drewmm

+0

Вам необходимо настроить маску автоматического изменения размера таблицы. –

+0

Вы пытались сделать это в 'viewDidLoad'? – Undo

ответ

0

Это, вероятно, происходит из-за Autolayout. Если у вас есть ограничения макета, настроенные в Storyboarding, представления не будут реагировать на изменения в свойстве frame. Вы можете отключить Autolayout в файле раскадровки, сняв флажок с надписью «Использовать Autolayout» в инспекторе File:

File Inspector inside Interface Builder

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