Swift - положение UILabel в CollectionVIewCell - PullRequest
0 голосов
/ 25 октября 2019

Как разместить метку под моим UIImage внутри CollectionViewCell?

Изображение должно быть в самом верху, а метка - чуть ниже него.

enter image description here

    // main Wishlist cell


class MainWishlistCell: UICollectionViewCell {

    let wishlistImage: UIImageView = {
        let v = UIImageView()
        v.translatesAutoresizingMaskIntoConstraints = false
        v.image = UIImage(named: "logoGroß")
        v.contentMode = .scaleAspectFit
        return v
    }()

    let wishlistLabel: UILabel = {
        let v = UILabel()
        v.text = "Main Wishlist"
        v.font = .systemFont(ofSize: 25, weight: .medium)
        v.font = UIFont(name: "Avenir Next", size: 25)
        v.textColor = .white
        return v
    }()

    override init(frame: CGRect) {
        super.init(frame: frame)
        commonInit()
    }

    required init?(coder: NSCoder) {
        super.init(coder: coder)
        commonInit()
    }

    func commonInit() -> Void {
        contentView.addSubview(wishlistImage)
        // constrain view to all 4 sides
        NSLayoutConstraint.activate([
            wishlistImage.topAnchor.constraint(equalTo: contentView.topAnchor),
            wishlistImage.bottomAnchor.constraint(equalTo: contentView.bottomAnchor),
            wishlistImage.leadingAnchor.constraint(equalTo: contentView.leadingAnchor),
            wishlistImage.trailingAnchor.constraint(equalTo: contentView.trailingAnchor),
        ])
}

1 Ответ

0 голосов
/ 25 октября 2019

Вам нужно

func commonInit() {
    contentView.addSubview(wishlistImage)
    contentView.addSubview(wishlistLabel)
    // constrain view to all 4 sides
    NSLayoutConstraint.activate([
        wishlistImage.topAnchor.constraint(equalTo: contentView.topAnchor), 
        wishlistImage.leadingAnchor.constraint(equalTo: contentView.leadingAnchor),
        wishlistImage.trailingAnchor.constraint(equalTo: contentView.trailingAnchor),
        wishlistImage.heightAnchor.constraint(equalToConstant:50),

        wishlistLabel.topAnchor.constraint(equalTo: wishlistImage.bottomAnchor,constant:20),
        wishlistLabel.bottomAnchor.constraint(equalTo: contentView.bottomAnchor),
        wishlistLabel.leadingAnchor.constraint(equalTo: contentView.leadingAnchor),
        wishlistLabel.trailingAnchor.constraint(equalTo: contentView.trailingAnchor),
    ])
}

Для wishlistLabel не забудьте

v.translatesAutoresizingMaskIntoConstraints = false
...