2016-08-08 39 views
1

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

+0

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 –

+0

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

+0

@DylanSteck: Verwenden Sie automatisches Layout? – amorbytes

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.