2013-02-19 3 views
0

Я пытаюсь изменить размер и положение фрейма для двух UITableViews, которые находятся внутри UIViewController, который является контроллером rootview для UINavigationController.изменение кадра UITableView в UINavigationController после загрузки представления

Я хочу, чтобы размер кадра изменялся при действии пользователя. Я все настройки и следующий код выполняется на действия пользователя:

CGRect firstTableFrame = [myTableView frame]; 
firstTableFrame.size.height = 290; 
[self.myTableView setFrame:firstTableFrame]; 
NSLog(@"%f",self.myTableView.frame.size.height); 
[self.myTableView reloadData]; 

Я могу подтвердить, что NSLog выходы 290. Однако, ничего на экране меняется. Я нашел здесь один ответ, который, как я думал, может его решить (снятие автозапуска) для файла .xib, но это приводит к разным другим проблемам с макетом с моим .xib, когда я запускаю его.

Есть ли способ решить эту проблему?

ответ

0

Это потому, что контроллер навигации имеет представление, в котором содержится представление, которое вы добавляете в него (ваши представления в таблице). вы должны соответствующим образом изменить размер этого представления.

+0

Я вижу. Итак, что бы я сделал с этой точки зрения? Его размер не нужно изменять, просто размер содержимого в его представлении (т. Е. Таблицы). Я предполагаю, что вы имеете в виду, что мне нужно как-то позволить этому мнению понять, что я меняю его подвид или, возможно, сделаю это через это представление. Любые дальнейшие рекомендации будут оценены. – IkegawaTaro

+0

Либо вы можете взять rootController.view и установить его границы более, чем размер, необходимый для двух табличных представлений, или просто установить его на размер экрана устройства. Вы также можете просмотреть представление вида viewcontroller и изменить размер – Siby

+0

. Мне кажется, мне нужно уточнить, что уменьшенное изображение таблицы становится все меньше. Это высота колеблется от 440 до 290. Разве не могут быть изменены границы каких-либо суперспектаклей в этом случае? – IkegawaTaro

0

Я смог решить эту проблему, перейдя в файл .xib viewcontroller и сняв флажок «Использовать автозапуск» на панели «Инспектор файлов». Если этот флажок не установлен, ограничения удаляются, и я смог изменить размер и изменить положение кадра программным путем.

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