1
我正在使用NewsAPI來獲取新聞,並使圖像視圖顯示來自當前新聞的圖像。我希望能夠將圖像視圖的寬度設置爲等於圖像的寬度,但圖像不斷變化,因爲它是實時新聞饋送。有誰知道我會如何做到這一點?Swift-將圖像寬度設置爲等於外部圖像的寬度
我正在使用NewsAPI來獲取新聞,並使圖像視圖顯示來自當前新聞的圖像。我希望能夠將圖像視圖的寬度設置爲等於圖像的寬度,但圖像不斷變化,因爲它是實時新聞饋送。有誰知道我會如何做到這一點?Swift-將圖像寬度設置爲等於外部圖像的寬度
所以這是我想通了:
比方說,你想要的模糊效果變化的時候,標籤的尺寸變化。 (Blur效果是標籤的晚餐視圖)
view.addSubview(progressTextVisualEffectView)
NSLayoutConstraint.activate([
progressTextVisualEffectView.topAnchor.constraint(equalTo: iosImage.topAnchor, constant: 20),
progressTextVisualEffectView.leftAnchor.constraint(equalTo: iosImage.leftAnchor, constant: 20),
progressTextVisualEffectView.heightAnchor.constraint(equalToConstant: 36),
])
progressTextVisualEffectView.autoresizesSubviews = true
progressTextVisualEffectView.contentView.addSubview(progressLabel)
NSLayoutConstraint.activate([
progressLabel.centerXAnchor.constraint(equalTo: progressTextVisualEffectView.centerXAnchor),
progressLabel.centerYAnchor.constraint(equalTo: progressTextVisualEffectView.centerYAnchor),
progressLabel.rightAnchor.constraint(equalTo: progressTextVisualEffectView.rightAnchor, constant: -10),
progressLabel.leftAnchor.constraint(equalTo: progressTextVisualEffectView.leftAnchor, constant: 10)
])
}
let progressLabel: UILabel = {
let label = UILabel()
label.translatesAutoresizingMaskIntoConstraints = false
label.text = "1/111112"
label.textColor = UIColor(white: 1, alpha: 0.7)
label.font = UIFont.systemFont(ofSize: 15, weight: .semibold)
label.sizeToFit()
return label
}()
let progressTextVisualEffectView: UIVisualEffectView = {
let blurEffect = UIBlurEffect(style: .dark)
let blur = UIVisualEffectView(effect: blurEffect)
blur.layer.cornerRadius = 12
blur.clipsToBounds = true
blur.translatesAutoresizingMaskIntoConstraints = false
blur.sizeToFit()
return blur
}()
最重要的部分是,
progressTextVisualEffectView.autoresizesSubviews = true
這是我第一次來回答這個問題,所以如果你還是不知道如何要做到這一點,你可以問我。
的形象圖有contentMode一個屬性,您可以設置到方面適合圖像始終填充圖像視圖 –
確定@MSU_Bulldog \t 我得到的圖像的寬度,我不知道它的尺寸。我希望能夠將其顯示在適合屏幕的位置,但會根據圖像的大小最小化尺寸。 – dylan
@DylanSteck:你在使用自動佈局嗎? – amorbytes