Быстрое создание и центрирование ImageViews программно - PullRequest
0 голосов
/ 03 октября 2019

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

Вот пример:

    for uniquePlatform in uniquePlatforms {
        if uniquePlatform == "Platform1" {
            let platformImage = UIImage(named: "icPlatform1")
            let platformImageView = PlatformImageView(image: platformImage)
            platformImageView.translatesAutoresizingMaskIntoConstraints = false
            self.addSubview(platformImageView)
            platformImageView.topAnchor.constraint(equalTo: view.topAnchor, constant: 11).isActive = true
            platformImageView.centerXAnchor.constraint(equalTo: self.centerXAnchor, constant: CGFloat(???)).isActive = true
            platformImageView.widthAnchor.constraint(equalToConstant: platformImage!.size.width).isActive = true
            platformImageView.heightAnchor.constraint(equalToConstant: platformImage!.size.height).isActive = true
        }
        if uniquePlatform == "Platform2" {
            let platformImage = UIImage(named: "icPlatform2")
            let platformImageView = PlatformImageView(image: platformImage)
            platformImageView.translatesAutoresizingMaskIntoConstraints = false
            self.addSubview(platformImageView)
            platformImageView.topAnchor.constraint(equalTo: view.topAnchor, constant: 11).isActive = true
            platformImageView.centerXAnchor.constraint(equalTo: self.centerXAnchor, constant: CGFloat(???)).isActive = true
            platformImageView.widthAnchor.constraint(equalToConstant: platformImage!.size.width).isActive = true
            platformImageView.heightAnchor.constraint(equalToConstant: platformImage!.size.height).isActive = true
        }

Что я хочу: есликоличество платформ == 1, только одна иконка, которая будет в центре. Если> 1, все они должны быть центрированы, а пространство между ними должно быть 12. Каждый значок также имеет разную ширину / высоту enter image description here

...