在堆栈视图中显示图像

用户名

是否可以通过编程将图像从资产文件夹显示到uistackview?如果是这样,您将如何去做?

我已经知道如何创建一个充满标签的堆栈视图。

    fileprivate lazy var stack: UIStackView = {
        let stack = UIStackView(arrangedSubviews: [goalCompleteLabel, completeMoreGoalsLabel])
        stack.translatesAutoresizingMaskIntoConstraints = false
        stack.axis = .vertical
        return stack
    } ()
法比奥

首先在imageView中设置图像(在其中设置其约束以更好地控制图像尺寸),并在类控制器下设置标签:

let image: UIImageView = {
    let imageView = UIImageView()
    imageView.image = UIImage(named: "yourImage")?.withRenderingMode(.alwaysOriginal)
    imageView.backgroundColor = .gray
    imageView.layer.cornerRadius = 8
    imageView.clipsToBounds = true
    imageView.contentMode = .scaleAspectFill
    imageView.translatesAutoresizingMaskIntoConstraints = false
    imageView.heightAnchor.constraint(equalToConstant: 200).isActive = true
    imageView.widthAnchor.constraint(equalToConstant: 200).isActive = true
    return imageView
}()

let completeMoreGoalsLabel: UILabel = {
    let label = UILabel()
    label.text = "Dummytext"
    label.textAlignment = .center
    return label
}()

现在使用分布fillProportionally设置堆栈视图:

lazy var stack: UIStackView = {
    let stackView = UIStackView(arrangedSubviews: [image, completeMoreGoalsLabel])
    stackView.axis = .vertical
    stackView.distribution = .fillProportionally
    stackView.translatesAutoresizingMaskIntoConstraints = false
    return stackView
}()

在viewDidLoad中显示您的堆栈并添加约束:

override func viewDidLoad() {
    super.viewDidLoad()

    view.backgroundColor = .darkGray

    view.addSubview(stack)
    stack.widthAnchor.constraint(equalToConstant: 200).isActive = true
    stack.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
    stack.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true
    stack.heightAnchor.constraint(equalToConstant: 250).isActive = true //200 imageHeight + 50 label height
}

我在图片上添加了转角半径,使其更可爱...

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章