ScrollView ändert seine Größe beim scrollen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • ScrollView ändert seine Größe beim scrollen

    Hallo,

    wie in meiner Überschrift schon erwähnt, verändert meine ScrollView beim scrollen von oben nach unten ihre Größe. Vielleicht zum Aufbau, ich habe eine TableView in welcher in jeder Zelle eine ScrollView geladen wird.
    Starte ich die App scheint es erst so als würde alles wie gewollt aussehen. Verschwindet jedoch eine Zelle/ScrollView nur kurz durch das Scrollen vom Screen, hat sie nachdem sie wieder sichtbar wird eine veränderte Breite. Das fällt mir auf weil sich dadurch auch die Breite des Contents verändert.

    Ich hab jetzt schon einige Dinge ausprobiert aber ich finde den Fehler nicht....

    Hier noch der relevante Code, vielleicht kennt sich ja einer von euch mit einer ähnlichen Problematik aus und weiß was zu tun ist ? :)

    Quellcode

    1. for pic in 0..<pictureArray.count {
    2. let imageView = UIImageView()
    3. imageView.image = pictureArray[pic]
    4. imageView.contentMode = .scaleAspectFill
    5. let xPosition = 230 * CGFloat(pic)
    6. imageView.layer.cornerRadius = 10
    7. imageView.layer.borderWidth = 1
    8. imageView.layer.borderColor = UIColor.lightGray.cgColor
    9. imageView.layer.masksToBounds = true
    10. imageView.frame = CGRect(x: xPosition + 20, y: CGFloat(0), width: cell.homeScrollView.frame.size.width/2 + 20, height: cell.homeScrollView.frame.size.height)
    11. //Code zu Erstellung der Maske
    12. let overlay: UIView = UIView(frame: CGRect(x: 0, y: 200, width: cell.homeScrollView.frame.size.width/2 + 20, height: cell.homeScrollView.frame.size.height/4))
    13. overlay.backgroundColor = UIColor.black.withAlphaComponent(0.3)
    14. let label = UILabel(frame: CGRect(x: 0, y: 0, width: cell.homeScrollView.frame.size.width/2 , height: cell.homeScrollView.frame.size.height/4))
    15. label.text = "Was soll ich nehmen ?"
    16. label.textColor = .white
    17. label.font = UIFont.boldSystemFont(ofSize: 14.0)
    18. label.center = overlay.center
    19. imageView.addSubview(overlay)
    20. imageView.addSubview(label)
    21. cell.homeScrollView.contentSize.width = cell.homeScrollView.frame.width * CGFloat(pic)
    22. cell.homeScrollView.addSubview(imageView)
    23. }
    Alles anzeigen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von ThisIsBeat ()