ОК, позвольте мне объяснить сценарий. Я занимаюсь разработкой приложения с фоновым изображением в главном окне. У меня также есть навигационный контроллер, который находится не в верхней части экрана, а на 100px вниз. Контроллер навигации полупрозрачный, поэтому вы можете видеть фон через него.
Теперь вот проблема. В какой-то момент в приложении пользователь нажимает кнопку, и у меня есть класс UITableViewController, который я добавляю в контроллер навигации с помощью pushViewController. Проблема заключается в том, что, хотя верхняя часть таблицы отображается непосредственно под навигационным контроллером, она помещает белый фон за навигационный контроллер, устраняя полупрозрачный эффект.
Я пробовал следующее:
- Установите свойство frame моего представления tableviewcontroller,
то есть.
tableviewcontroller1.view.frame= CGRectMake(0,120,320,300);
(Я играл с позицией у, но это не имеет значения, что бы я ни делал.)
Я подумал, что, возможно, мне удастся создать UIViewController и создать представление с прозрачным фоном, а затем добавить tableviewcontroller в качестве подпредставления, и при этом я надеялся, что границы фреймов, которые я установил в tableviewcontroller, вступят в силу. Я попробовал следующее:
[parentview.view addSubView: tableviewcontroller1]; // runtime error
[parentview.view addSubView: tableviewcontroller1.view]; // runtime error
[parentview.view addSubView: tableviewcontroller.tableView]; // runtime error
Я действительно изо всех сил пытаюсь понять, почему установка свойства frame моего tableviewcontroller.view не имеет никакого эффекта, я проверил все свои супер-представления, и ни у одного из них не установлено свойство "resize subviews".
Я был бы очень признателен за помощь в этом, я действительно застрял здесь, я много искал, но не могу найти ответ.
Большое спасибо
Michael