代码设置UIImageView约束后无法按比例适配屏幕尺寸问题
问题描述
我创建的CollectionViewCell垂直空间有限,希望在垂直方向放置UIImageView与Label,且UIImageView可随屏幕尺寸伸缩。但目前ImageView垂直方向已变大,图片却因水平尺寸固定无法维持比例。
相关代码
private lazy var assetImageView: UIImageView = { let imageView = UIImageView() imageView.backgroundColor = .red imageView.translatesAutoresizingMaskIntoConstraints = false imageView.tintColor = .secondaryLabel imageView.contentMode = .scaleAspectFit imageView.setContentHuggingPriority(.defaultLow, for: .vertical) imageView.setContentCompressionResistancePriority(.defaultLow, for: .vertical) return imageView }() func configureViews() { contentView.addSameSizeConstrained(subView: containerView) containerView.addSubview(assetImageView) containerView.addSubview(assetTypeLabel) containerView.addSubview(assetCountLabel) NSLayoutConstraint.activate([ assetImageView.leadingAnchor.constraint( equalTo: containerView.leadingAnchor, constant: AppLayoutGuidance.spacing ), assetImageView.topAnchor.constraint(equalTo: containerView.topAnchor, constant: AppLayoutGuidance.spacingHalf), assetTypeLabel.leadingAnchor.constraint( equalTo: assetImageView.trailingAnchor, constant: AppLayoutGuidance.spacingHalf ), assetTypeLabel.trailingAnchor.constraint( equalTo: containerView.trailingAnchor, constant: -AppLayoutGuidance.spacing ), assetTypeLabel.centerYAnchor.constraint(equalTo: assetImageView.centerYAnchor), assetCountLabel.leadingAnchor.constraint(equalTo: assetImageView.leadingAnchor), assetCountLabel.trailingAnchor.constraint(equalTo: assetTypeLabel.trailingAnchor), assetCountLabel.topAnchor.constraint( equalTo: assetImageView.bottomAnchor, constant: AppLayoutGuidance.spacingHalf ), assetCountLabel.bottomAnchor.constraint( equalTo: containerView.bottomAnchor, constant: -AppLayoutGuidance.spacingHalf ), ]) }
模拟器界面截图

内容的提问来源于stack exchange,提问作者Ogün Birinci
相关产品推荐
相关产品推荐

