2015-01-01 2 views
1

Моя проблема заключается в том, что в зависимости от количества групп, которые у меня есть, я хочу динамически создавать это множество UIImageView и назначать их представлению. Я знаю, как создать один UIImageView и поместить его в представление, но как я могу создать переменное число из них, так как создание другого с тем же именем, похоже, просто перезаписывает оригинал? Я попытался отправить UIImageView в массив, но получил дополнительную ошибку.Как создать переменное число UIImageViews в swift

  circleView = UIImageView(frame:CGRectMake(125, y, 75, 75)) 
      y+=150 
      circleView.image = UIImage(named:"circle.png") 
      circleView.tag = i 
      self.view.addSubview(circleView) 
      circleArray[i] = circleView 

ответ

1

Проблема заключается в том, что вы многократно использовать один и тот же экземпляр circleView. Когда вы добавляете его в массив, вы просто добавляете ссылку на него. Затем вы повторно инициализируете его, который вытирает его. Я также не вижу, где вы увеличиваете i. Попробуйте что-нибудь вроде этого:

var circleArray = Array<UIImageView>() 
var y : CGFloat = 0.0 
var i = 0 
circleArray.append(UIImageView(frame:CGRectMake(125, y, 75, 75))) 
var circleView = circleArray[i] 
circleView.image = UIImage(named:"circle.png") 
circleView.tag = i 
self.view.addSubview(circleView) 

y+=150 
i += 1 
+0

Умный раствор. Спасибо огромное! – Roosh

0

Вы должны использовать circleArray.append(circleView)

+0

Wow не может поверить, что я совершил эту ошибку, потому что поймал ее! – Roosh

+0

Даже при правильном синтаксисе он, похоже, бросает ту же дополнительную ошибку. Есть предположения? – Roosh

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