Swift:如何创建imageview堆栈

时间:2019-05-20 14:28:22

标签: ios swift uiimageview

嘿,我想创建像照片一样的imageview堆栈,该怎么做

enter image description here

2 个答案:

答案 0 :(得分:1)

添加三个具有角半径,边框颜色,边框宽度的图像视图,并使用bringSubviewToFront(_:)insertSubview(_:belowSubview:)使图像视图进入

class ViewController: UIViewController {

    override func viewDidLoad() {

        view.backgroundColor = .lightGray

        let imgView1 = createImageView()
        imgView1.image = UIImage(named: "1")
        view.addSubview(imgView1)

        let imgView2 = createImageView()
        imgView2.image = UIImage(named: "2")
        view.insertSubview(imgView2, belowSubview: imgView1)

        let imgView3 = createImageView()
        imgView3.image = UIImage(named: "3")
        view.insertSubview(imgView3, belowSubview: imgView2)

        imgView1.centerXAnchor.constraint(equalTo: view.centerXAnchor, constant: -75).isActive = true
        imgView1.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true
        imgView2.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
        imgView2.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true
        imgView3.centerXAnchor.constraint(equalTo: view.centerXAnchor, constant: 75).isActive = true
        imgView3.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true
    }
    func createImageView() -> UIImageView {
        let imageView = UIImageView()
        imageView.layer.borderColor = UIColor.white.cgColor
        imageView.layer.borderWidth = 3.0
        imageView.layer.cornerRadius = 75
        imageView.layer.masksToBounds = true
        imageView.translatesAutoresizingMaskIntoConstraints = false
        imageView.widthAnchor.constraint(equalToConstant: 150).isActive = true
        imageView.heightAnchor.constraint(equalToConstant: 150).isActive = true
        return imageView
    }
}

enter image description here

答案 1 :(得分:0)

如果要无限数量的图像,建议您使用具有自定义布局的收藏夹视图。这不是最简单的方法,但绝对是最可扩展的。

相关问题