Создать imageView на основе массива.count - Swift - PullRequest
0 голосов
/ 02 июля 2018

Я пытаюсь создать раздел изображений, который будет располагаться в верхней части приложения и обновляться по мере прохождения теста.

Моя переменная массива - Qs, код, который я должен создать для imageView, выглядит следующим образом:

var imageView: UIImageView!
var i = 0
var total = Int(Qs.capacity) // Just testing what .capacity does.

for i in 0..<(Qs.count-1){
imageView - UIImageView(frame: CGRect(x: 0, y: 75, width: 50, height: 50))
imageView.image = UIImage(named:"InfoIcon")
imageView.contentMode = .scaleAspectFit

self.view.addSubView(imageView)
}

У меня уже есть переменная, которая отслеживает продвижение пользователей по викторине с помощью целого числа, если это будет какая-то помощь, объявленная вместе с функциональностью викторины. Вот фантастическая картина того, чего я пытаюсь достичь:

enter image description here

Любая помощь приветствуется, спасибо

1 Ответ

0 голосов
/ 02 июля 2018

Предположим, у вас есть контейнер view, прикрепленный вверху, тогда вы можете использовать этот метод для добавления любого числа imageView's.

func addProgressImages(to view: UIView, count: Int) {
    let screenSize = UIScreen.main.bounds.size

    for i in 0..<count {
        let spacing: CGFloat = 2
        let tag = i + 888
        let width: CGFloat = screenSize.width/CGFloat(count)
        let height: CGFloat = width
        if let view = view.viewWithTag(tag) {
            view.removeFromSuperview()
        }
        let x = spacing + CGFloat(i) * width
        let imageView = UIImageView(frame: CGRect(x: x, y: 100, width: width - spacing, height: height))
        imageView.image = UIImage(named:"InfoIcon")
        imageView.tag = tag
        imageView.contentMode = .scaleAspectFit
        view.addSubview(imageView)
    }
} 

Вы можете играть со значением y для выравнивания vertical.

...