2015-04-30 8 views
0

Я пытаюсь создать собственный неупорядоченный список (с настраиваемыми галочками как «bullets»). Данные для этого списка - NSArray, содержащие NSString s.создать пользовательский неупорядоченный список из NSArray

Моя идея состояла в том, чтобы добавить несколько подзонов (на основе xib-файла) в UIView. Файл xib имеет UIImageView (галочка) и UIlabel (для установки текста).

Я попытался петлю через NSArray, и добавить пользовательские UIView к списку-контейнера:

for (id line in currentDeal.dealDescriptionArray) { 
    NSLog(line); 

    CustomLineView *specView = [[[NSBundle mainBundle] loadNibNamed:@"customLineView" owner:self options:nil] objectAtIndex:0]; 
    specView.specLabel.text = line; 
    [listContainer addSubview:specView]; 

} 

Однако это только показывает последний элемент массива, я думаю, что я просто добавить указатели к одному и тому же объекту, но я не знаю, как создавать «новые» экземпляры.

Кто-нибудь знает, как исправить эту проблему?

ответ

0

Вы создаете новые экземпляры, вы просто не позиционируете их так, чтобы все были друг на друга (так эффективно вы видите только последний).

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

+0

Ах, спасибо! В этом есть смысл. Подразделы могут иметь разную высоту (когда строка слишком длинная, она будет состоять из нескольких строк). Поэтому я думаю, мне придется работать с ограничениями. Должен ли я создавать ограничения между одним подвью и предыдущим, или возможно/лучше получить высоту каждого поднабора и рассчитать положение относительно контейнера? – klaaskox

+0

Да, лучше иметь ограничения между представлениями и позволять размер встроенного содержимого устанавливать высоты – Wain

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