Ich habe ein modales Popup im Storyboard erstellt, so dass beim Klicken auf ein Bild ein Popup dieses Bildes angezeigt wird, das jedoch in der Größe veränderbar ist. Alles was ich will ist, dass das Popup gleich der Größe der Superview (programmatisch) ist.Wie ändere ich die Modal Popup-Größe, um sie der Superview-Größe anzupassen?
Ich werde bei Bedarf zusätzlichen Code zur Verfügung stellen.
@IBOutlet var imageView: UIView!
@IBOutlet weak var scrollView: UIScrollView!
@IBOutlet weak var zoomImageView: UIImageView!
@IBOutlet weak var backgroundButton: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
self.navigationController?.setNavigationBarHidden(true, animated: false)
imageView.layer.cornerRadius = 10
imageView.layer.masksToBounds = true
self.scrollView.minimumZoomScale = 1.0
self.scrollView.maximumZoomScale = 6.0
}
func viewForZooming(in scrollView: UIScrollView) -> UIView? {
return self.zoomImageView
}
override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
if UIDevice.current.orientation.isLandscape{
imageView.center = self.view.center
imageView.frame = view.frame
} else if UIDevice.current.orientation.isPortrait{
imageView.center = self.view.center
imageView.frame = view.frame
}
}
@IBAction func showImageView(_ sender: Any) {
animateIn()
}
@IBAction func closeImageView(_ sender: Any) {
animateOut()
}
func animateIn() {
self.scrollView.zoomScale = 1.0
self.view.addSubview(imageView)
imageView.center = self.view.center
imageView.transform = CGAffineTransform.init(scaleX: 1.3, y: 1.3)
imageView.alpha = 0
self.backgroundButton.alpha = 0.7
UIView.animate(withDuration: 0.4) {
self.imageView.alpha = 1
self.imageView.transform = CGAffineTransform.identity
}
}
func animateOut() {
UIView.animate(withDuration: 0.3, animations: {
self.imageView.transform = CGAffineTransform.init(scaleX: 1.3, y: 1.3)
self.imageView.alpha = 0
self.backgroundButton.alpha = 0
}) { (success:Bool) in
self.imageView.removeFromSuperview()
}
}
}
Jede Hilfe wäre sehr dankbar.
Bitte Code angeben. Es hilft zu antworten! – dfd
Eigentlich habe ich es gerade herausgefunden. Ich werde meine Antwort posten. Es war wirklich einfaches Zeug (irgendwie gemustert). –
Es scheint ein kleines Problem mit der Antwort zu geben, die ich gab. Obwohl die Unteransicht beim Klicken auf das Bild korrekt skaliert wird, scheint die Drehung des Telefons mit der Größe zu verwechseln. Das nächste Mal, wenn das Bild angeklickt wird, ist es keine richtige Größe (aber kleiner). –