2011-01-19 6 views
1

Есть похожие сообщения по этой теме, но моя ситуация выглядит немного по-другому. С учетом сказанного, также кажется, что это должна быть общая проблема для преодоления.Построение UIView в построителе интерфейса

У меня есть контроллер вида (StatsViewController), который имеет пустой UIScrollView на данный момент. То, что я хотел бы сделать, это создать пользовательский класс UIView и выложить его с помощью Interface Builder, а затем StatViewController будет использовать это представление несколько раз. Но сейчас это неизвестное количество раз. В принципе, StatsViewController будет вытаскивать некоторые JSON из веб-службы, перебирать через службу, и для каждого «цикла» я хотел бы создать новый вид с помощью моего пользовательского UIView и добавить его в UIScrollView в StatViewController.

Моя проблема в том, что я создаю UIView в построителе интерфейсов, я не могу понять, как создать экземпляр, используя кончик в цикле. Я прочитал, что вы загружаете контроллеры представлений, используя нить, а не простой UIView ... но в то же время я читал, что вы не можете (или не должны) иметь вложенные UIViewControllers, так что я в недоумении.

Если я создаю пользовательский вид в Interface Builder, как я могу создать его несколько раз на одном контроллере?

ответ

1

Каждый вид будет его собственным объектом. Если вы храните каждый в массив, вы можете получить доступ к каждому виду через массив. Это позволит вам контролировать их всех с помощью одного контроллера.

И нет, вы загружаете наконечник с помощью погрузчика. Они могли бы описать все. В нем нет необходимости иметь контроллер.

1

Простой трюк, чтобы получить то, что вы хотите, так же, как и реализовать в интерфейсе Builder UITableViewCell.

В интерфейсе Builder установите владельца файла в UIViewController, загрузите свой nib и затем захватите его. Затем вы можете (пока вы сохраняете представление), избавиться от VC.

Итак, что я предлагаю вам, смотрите первые 2/3 сессии 104 WWDC10, чтобы получить представление о том, как реализовать повторное использование ячеек. Затем, если вы хотите реализовать свои ячейки в IB, используйте описанный выше метод (есть и другие способы сделать это, но они все хаки), вы можете это сделать.

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