IOS SDK: вид контейнера с 3 областями просмотра пользовательского интерфейса, как это сделать?

#iphone #ios #uiview #ipad

#iPhone #iOS #uiview #iPad

Вопрос:

Я новичок в разработке iOS. Мне нужны окна с древовидными видами на нем. Я создал приложение на основе представления и добавил элементы управления UIView в главное представление. Также я добавил 3 контроллера просмотра для этих представлений с определением вида в отдельных файлах xib. Как связать представления из отдельных файлов xib с областями просмотра в главном представлении? Должен ли я вручную создавать экземпляры контроллера и загружать представление контроллера в области просмотра? Или, может быть, возможно создать их в IB? Спасибо.

Ответ №1:

Вы должны иметь возможность просто перетащить экземпляры трех контроллеров в файл nib основного представления и изменить их размер, чтобы создать желаемый макет. Однако убедитесь, что свойства в подвидах верны, иначе они могут перекрываться. В окне библиотеки IB перейдите на вкладку классы и перетащите нужные классы (View Controllers) на перо.

Я предпочитаю этот метод, чем добавлять их вручную с помощью кода, поскольку он обеспечивает гораздо лучшую функциональность при изменении размера, например, при вращении.

Комментарии:

1. Я добавил View1Controller из classe в основной контроллер проекта xib. Я выбрал имя кончика (View1Controller.xib). Что я должен делать дальше? Поместить uiview в основной вид и связать его с контроллером? или что-то еще? После Visual Studio это трудно понять.

2. Добавьте его в представление в файле nib. Отсюда вы можете изменять его размер в самой области просмотра. Файл nib должен выглядеть следующим образом: Владелец файла MasterView First Responder >Просмотр View1Controller, а затем изменения в view1controller на панели просмотра должны отражать точное изменение размера и размещение. В инспекторе используйте третью вкладку (инспектор размеров) для управления свойствами выравнивания, начала координат и растягивания представления.

3. Да, это была моя ошибка, по какой-то причине я думал, что вы можете перетаскивать контроллеры представления, но вы не можете добавить их непосредственно в представление. Лучшим решением для решения этой проблемы было бы просто добавить контроллеры просмотра в nib и изменить их размер с помощью viewcontroller.view.frame = * size *. Хотя я думаю, что есть способ получше, я просто не могу найти ни в одном из этих приложений, где мы делали это напрямую через IB. Имейте в виду, как упоминалось в первоначальном ответе, вам нужно включить что-то, чтобы справиться с изменением их размера во время поворота.