Ich benutze NewsAPI, um Neuigkeiten zu bekommen und habe es zum Laufen gebracht, wo eine Bildansicht ein Bild von aktuellen Nachrichten anzeigt. Ich möchte in der Lage sein, die Breite der Bildansicht auf die Breite des Bildes einzustellen, aber das Bild ändert sich ständig, da es sich um einen Live-Newsfeed handelt. Weiß jemand, wie ich das erreichen würde?Swift- Einstellen der Bildbreite auf die Breite eines externen Bildes
1
A
Antwort
0
So, hier ist das, was ich herausgefunden:
Angenommen, Sie die Unschärfe-Effekt Änderungen sollen, wenn die Etikettengröße ändern. (Blur-Effekt ist das Abendessen Ansicht des Etiketts)
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
}()
Der wichtigste Teil ist, dass
progressTextVisualEffectView.autoresizesSubviews = true
Dies ist mein erstes Mal die Frage zu beantworten, wenn Sie also noch nicht wissen, wie um das zu tun, kannst du mich fragen.
eine Bildansicht, verfügt über eine Eigenschaft für contentMode und Sie, dass fit Aspekt festlegen für das Bild, um die Breite des Bildansicht –
ok @MSU_Bulldog immer füllen \t ich ein Bild bekommen, und ich weiß nicht, seine Größe. Ich möchte es dort zeigen können, wo es auf den Bildschirm passt, aber die Abmessungen auf der Grundlage der Bildgröße minimiert haben. – dylan
@DylanSteck: Verwenden Sie automatisches Layout? – amorbytes